1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. padde83, 26.07.2010 #1
    padde83

    padde83 Threadstarter Android-Hilfe.de Mitglied

    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

    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

    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

    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

    So langsam bin ich am verzweifeln.:eek:
     
  6. FelixL, 30.07.2010 #6
    FelixL

    FelixL Ehrenmitglied

    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

    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

    Das ist natürlich die einfachere Lösung ^^
     
Du betrachtest das Thema "RatingBar in TableRow" im Forum "Android App Entwicklung",