android-Set Höhe von TableLayout
Habe ich ein TableLayout mit nur einer einzigen Zeile (also die Kopfzeile) in XML. Alle anderen Zeilen füge ich dynamisch.
XML TEIL :
<TableLayout android:id="@+id/list_table"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:stretchColumns="1" android:background="#808000" **android:scrollbars="vertical">**
<TableRow android:layout_margin="1dp" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:id="@+id/list_head_Row">
<TextView android:layout_width="wrap_content"
android:text="Col1" android:layout_height="wrap_content"></TextView>
<TextView android:gravity="center" android:layout_width="wrap_content" android:text="Col2" android:layout_height="wrap_content"></TextView>
<TextView android:layout_width="wrap_content" android:text="Col3" android:layout_height="wrap_content"></TextView>
</TableRow>
</TableLayout>
In der Activity-Klasse, ich hinzufügen TableRows :
TableRow tr = new TableRow(this);
tr.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
//Add 3 TextViews
//Add Row to table
t1.addView(tr, new TableLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
Mit diesem viel allen Zeilen, die Hinzugefügt wird, auf den Tisch und füllt den Bildschirm. Ich will eingestellt ist, anzeigen nur 4-5 Zeilen und andere, die kann gerollt werden.Für die, die ich Hinzugefügt :
int tableHgt = t1.getChildAt(0).getHeight() + (rowHgt *40);
t1.setLayoutParams(new TableLayout.LayoutParams(LayoutParams.FILL_PARENT, tableHgt));
Mit diesem kann ich nicht sehen, jede Zeile, außer der header-Zeile in xml. Wie kann ich die Höhe sehen nur 5 Zeilen und othe alle können gescrollt werden ? In TableLayout
android:scrollbars="vertical"
wird ebenfalls Hinzugefügt.
Wohin gehe ich falsch ?
Jede Hilfe wird sehr geschätzt.
Dank
Ich habe nicht gefunden, dass in der Listenansicht, kann ich hinzufügen, verschiedene cols geben Sie die Daten wie kann ich in TableLayout. Zusätzlich zur Auswahl einer Zeile in der Tabelle ganze Zeile ausgewählt, die nicht auftreten, in der ListView. Aufgrund dieser 2 wichtigsten Punkte, die ich ging für TableLayout.
InformationsquelleAutor Tvd | 2011-04-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
warum kommst du nicht mit ListView ?
aber ok ... zurück zu deiner Frage
setzen TableLayout in ScrollView und das setup in Höhe ScrollView
EDIT: code
activity.java
scrolltest.xml
Selvin, mit dieser änderung, der Fehler ist Weg, aber nicht sehen können, alle Zeilen auch int tableHgt = t1.getChildAt(0).getHeight() + (rowHgt *40); scroller.setLayoutParams(new TableLayout.LayoutParams(LayoutParams.FILL_PARENT, tableHgt));
denke immer noch, dass Sie verwenden sollten, ListView ... aber Siehe edit
Dank Selvin, der layout_height="100dp" habe meine Arbeit. Jetzt meine Tabelle der Inhalt angezeigt werden als erwartet, kann auch scrollen mit nach unten& oben-unten-Tasten. Können wir nicht scrollbar wie können wir in windows, d.h. Sie bleiben sichtbar, können wir ziehen Sie es auf Maus-scrollen nach unten/oben. <ScrollView android:id="@+id/ScrollView01" android:layout_width="match_parent" android:layout_height="100dp" android:visibility="visible" android:scrollbars="vertical" android:scrollbarStyle="insideOverlay" android:justierbares="true" android:focusableInTouchMode="true"> Wie man es sta sichtbar & scroll-Maus /touch?
href="http://esilo.pl/device1.png" >esilo.pl/device1.png smth like this im roten Kreis ? .... nun, es ist android:fastScrollEnabled="true" in ListView
InformationsquelleAutor Selvin