RatingBar in TableRow

P

padde83

Ambitioniertes Mitglied
0
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_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
                                RatingBar ratingBar = new RatingBar(DummyActivity.this);
                                ratingBar.setPadding(5, 0, 0, 0);
                                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:
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
 
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 = (TableLayout) findViewById(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.this, null,
                                        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
 
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
 
So langsam bin ich am verzweifeln.:eek:
 
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:
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
 
Das ist natürlich die einfachere Lösung ^^
 

Ähnliche Themen

D
Antworten
23
Aufrufe
2.533
Data2006
D
OnkelLon
Antworten
13
Aufrufe
1.981
OnkelLon
OnkelLon
S
Antworten
9
Aufrufe
1.202
swa00
swa00
Zurück
Oben Unten