Spalten in ListView Android
Wie kann ich Spalten in Android ListView? Ich habe diese Liste Element layout-xml:
<?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:orientation="horizontal">
<TextView android:layout_weight=".3" android:layout_width="wrap_content"
android:layout_height="fill_parent" android:id="@+id/hour"
android:gravity="center" />
<ImageView android:id="@+id/symbol" android:scaleType="fitCenter"
android:layout_gravity="center_horizontal" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_weight=".5" />
<TextView android:layout_weight=".8" android:layout_width="wrap_content"
android:layout_height="fill_parent" android:id="@+id/temperature"
android:gravity="center" />
<TextView android:layout_weight="1" android:layout_width="wrap_content"
android:layout_height="fill_parent" android:id="@+id/percipitation"
android:gravity="center" />
<TextView android:layout_weight="1" android:layout_width="wrap_content"
android:layout_height="fill_parent" android:id="@+id/wind_speed"
android:gravity="center" />
<TextView android:layout_weight="1" android:layout_width="wrap_content"
android:layout_height="fill_parent" android:id="@+id/wind_direction"
android:gravity="center" />
</LinearLayout>
Das problem ist, wenn die f.ex. wind_direction ändern von "4" bis "300", dann werden die Spalten sind nicht ausgerichtet.
Das problem http://img185.imageshack.us/img185/2812/deviceo.png
Wer kann dies gemacht werden mit fester Breite Spalten und über die gesamte Breite unabhängig von Geräten?
InformationsquelleAutor Torstein I. Bø | 2010-08-31
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Überlegen, ein TableLayout statt einer ListView. Dieses ist entworfen, um Zeilen und Spalten. Sehen Hallo TableLayout.
Hinzufügen von Zeilen programmatisch, Sie können Blasen Sie die Tabellenzeilen und rufen addView auf dem TableLayout.
InformationsquelleAutor Cheryl Simon
Können Sie layout_weight in conjuntion mit layout_width 0, wie dies in Ihrem Element layout-xml:
Im wesentlichen die layout_width von 0dp Kräfte alle den text Ansichten haben keine Breite. Da spare Breite in der linearen layout wird aufgetischt nach dem layout_weight nach der Breite des text-views wurde festgestellt, beginnen Sie mit gleichen Wettbewerbsbedingungen unter den text-Boxen, die haben alle die gleiche Breite (0). Ohne die 0 Breite der Textfelder beginnen in verschiedenen breiten und das hinzufügen zusätzlicher Speicherplatz (über die layout_weight) bleibt immer noch die text-Boxen in verschiedenen breiten.
InformationsquelleAutor Chris Knight
Könnten Sie tun, einen solchen anstelle von wrap_content auf die TextViews:
den oben genannten sets der Dichte-unabhängige Breite, oder
die Sie verwenden können, legen Sie den Prozentsatz der Breite auf jeder text-Ansicht.
Siehe auch diesen post und den link:
Was ist der Unterschied zwischen "px", "dp", "dip" und "sp" auf Android?
InformationsquelleAutor eonor
Integrieren. Versuchen Sie es mit TableLayout statt LinearLayout für die list-Element-wrapper. Ich glaube, ich sah, dass die Arbeit irgendwo einmal. Nie selber ausprobiert.
http://www.vbsteven.be/blog/using-the-simpleadapter-with-a-listview-in-android/
InformationsquelleAutor quaintdesigns
Wenn Sie viele Daten anzuzeigen, verwenden Sie nicht TableLayout. Die Leistung und der Speicher Verbrauch ist horrend. Es könnte viele Sekunden, bis Ihre Daten angezeigt werden, und Sie erhalten die Choreografin Fehler, dass die app zu viel zu tun-Verarbeitung in den UI-thread
InformationsquelleAutor Binu Abraham