1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

RatingBar in TableRow

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von padde83, 26.07.2010.

  1. padde83, 26.07.2010 #1
    padde83

    padde83 Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    50
    Erhaltene Danke:
    0
    Registriert seit:
    17.06.2010
    Hallo Zusammen,

    da es das Wetter nicht bietet am See zu liegen habe ich mich etwas mit der Ratingbar beschäftigt. :D

    Ich versuche wie der Titel schon sagt eine Ratingbar in eine Tabellenreihe zu bekommen.
    Sollte dann irgendwie so aussehen:

    |Rating : | RatingBar |

    Die Tabelle wird dynamisch gefüllt und hat x-beliebige Einträge der Form Name:value!

    Mein Problem ist das ich die Ratingbar einfach nicht angezeigt bekomme. Im HierarchyViewer ist sie richtig angeordnet, nur bekomme ich da keine Werte für Höhe und Weite. :(

    Hiermit erstelle ich die Ratingbar::cool:
    PHP:
    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
                                            
    LinearLayout.LayoutParams.WRAP_CONTENTLinearLayout.LayoutParams.WRAP_CONTENT);
                                    
    RatingBar ratingBar = new RatingBar(DummyActivity.this);
                                    
    ratingBar.setPadding(5000);
                                    
    ratingBar.setLayoutParams(params);
                                    
    ratingBar.setRating(5.0f);
                                    
    ratingBar.setVisibility(RatingBar.VISIBLE);
                                    
    ratingBar.setNumStars(5);
                                    
    ratingBar.bringToFront();
                                    
    row.addView(ratingBar); //Hinzufügen der Row

      
    ....... Hinzufügen der Tabelle..... Hinzufügen des Layouts
    Versucht habe ich es schon damit der row einfach eine Höhe und Weite zu geben.
    params.height & params.width
    Hat nur leider keinen Effekt gehabt. :(

    Ein weiteres Problem, ich würde gerne den Sytle verwenden
    -> ?android:attr/ratingBarStyleSmall
    Aber wie :confused:

    Gruß
    padde 83
     
    Zuletzt bearbeitet: 26.07.2010
  2. padde83, 26.07.2010 #2
    padde83

    padde83 Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    50
    Erhaltene Danke:
    0
    Registriert seit:
    17.06.2010
    Ok,

    also Problem Nummer2 (android:attr/ratingBarStyleSmall ) löst man wie folgt::p

    RatingBar ratingBar = new RatingBar(Context, AttributeSet, android.R.attr.ratingBarStyleSmall);

    Das Problem 1 besteht leider immernoch.:rolleyes:

    Gruß
    padde83
     
  3. padde83, 26.07.2010 #3
    padde83

    padde83 Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    50
    Erhaltene Danke:
    0
    Registriert seit:
    17.06.2010
    Hallo,

    also ich versuche mein Problem mal etwas genauer zu beschreiben.:)
    Mein Layout sieht im Moment so aus.

    PHP:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent" android:layout_height="fill_parent"
        android:id="@+id/record_mainlayout" android:orientation="vertical">
        <LinearLayout android:id="@+id/record_headlayout"
            android:layout_width="wrap_content" android:layout_height="wrap_content"
            android:padding="5dip" android:orientation="horizontal"
            android:gravity="top">
            <ImageView android:id="@+id/record_thumbnail"
                android:layout_width="wrap_content" android:layout_height="wrap_content" />
            <LinearLayout android:id="@+id/record_sublayout"
                android:layout_width="fill_parent" android:layout_height="wrap_content"
                android:orientation="vertical" android:gravity="center">
                <TextView android:id="@+id/recordname" android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:paddingTop="12dip"
                    android:paddingLeft="10dip" />
                <TextView android:id="@+id/recorddate" android:layout_width="wrap_content"
                    android:layout_height="wrap_content" />
            </LinearLayout>
        </LinearLayout>
        <ScrollView android:id="@+id/record_scrollview"
            android:layout_width="fill_parent" android:layout_height="wrap_content">
            <LinearLayout android:id="@+id/record_content"
                android:layout_width="fill_parent" android:layout_height="wrap_content">
                <TableLayout android:id="@+id/record_table"
                    android:layout_width="fill_parent" android:layout_height="wrap_content"
                    android:gravity="bottom">
                </TableLayout>
            </LinearLayout>
        </ScrollView>
    </LinearLayout>

    Das Table Layout wie schon beschrieben dynamisch gefüllt. Funktioniert auch so ganz gut.

    Meine Code dazu:
    PHP:
    TableLayout table = (TableLayoutfindViewById(R.id.record_table);

    for(.....){

    TableRow row = new TableRow(Activity.this);
    TextView name = new TextView(Activity.this)
    name.setText("bla zisch");
    row.addView(name);
    RatingBar ratingBar = new RatingBar(RecordActivity.thisnull,
                                            
    android.R.attr.ratingBarStyleSmall);
    row.addView(ratingBar);

    table.addView(row);
    }

    Wenn ich aus der Ratingbar ein TextView mache wird der Text angezeigt. Nur die Ratingbar bleibt unsichtbar. :mad:

    Gruß & Danke
    padde83
     
  4. padde83, 27.07.2010 #4
    padde83

    padde83 Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    50
    Erhaltene Danke:
    0
    Registriert seit:
    17.06.2010
    Keiner eine Idee?
    Kann mir nur vorstellen, dass die Ratingbar von irgendwas überlagert wird und Android sie somit einfach nicht zeichnet. :confused:

    Evtl. in der TableRow noch ein Framelayout in dem die Ratingbar drinne ist! :mad:

    so long
    padde83
     
  5. padde83, 28.07.2010 #5
    padde83

    padde83 Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    50
    Erhaltene Danke:
    0
    Registriert seit:
    17.06.2010
    So langsam bin ich am verzweifeln.:eek:
     
  6. FelixL, 30.07.2010 #6
    FelixL

    FelixL Ehrenmitglied

    Beiträge:
    4,855
    Erhaltene Danke:
    754
    Registriert seit:
    26.11.2009
    Phone:
    Wileyfox Swift, HTC One M8
    Ich würde auch erst mal davon ausgehen, das Android das Layout aufbaut, die Größen zuordnet, die RatingBar quasi leer ist und deswegen keine Größe zugeordnet bekommt...
    Du meintest feste Größen hast du schon zugeordnet? Auch den LinearLayouts drumrum?Wird nur die Rating-Bar nicht angezeigt oder auch der Name daneben nicht?
    Mach doch mal einfach zum Test erst die RatingBar und dann den Text oder nur die RatingBar...
     
    Zuletzt bearbeitet: 30.07.2010
  7. padde83, 30.07.2010 #7
    padde83

    padde83 Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    50
    Erhaltene Danke:
    0
    Registriert seit:
    17.06.2010
    Servus FelixL,

    also ich habe das TableLayout einfach verworfen und mir es mit Linarlayouts zusammengebaut. Ist zwar vielleicht nicht ganz so elegant aber es funktioniert im moment.:p

    Habe mit der RatingBar echt alles probiert zumindest das, worauf ich gekommen bin.
    Sobald ich die RatingBar in eine TableRow gepackt habe wurde sie nicht angezeigt.
    Gleiche RatingBar außerhalb, wurde sofort angezeigt :mad:

    Habe das Thema ersteinmal abgehackt. Wenn ich nochmal darauf stoße melde ich mich :D

    So long,
    padde83
     
  8. FelixL, 30.07.2010 #8
    FelixL

    FelixL Ehrenmitglied

    Beiträge:
    4,855
    Erhaltene Danke:
    754
    Registriert seit:
    26.11.2009
    Phone:
    Wileyfox Swift, HTC One M8
    Das ist natürlich die einfachere Lösung ^^
     

Diese Seite empfehlen