Wie kann ich die Höhe des GridView Zelle auf der Basis von Bildschirm-Höhe?
In meinem layout habe ich nur acht Zellen.
Ich möchte die Zelle teilen alle den verfügbaren Platz auf dem Bildschirm. Ist das möglich?
Dies ist mein gridview-layout:
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/dataGrid"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10px"
android:verticalSpacing="10px"
android:horizontalSpacing="10px"
android:numColumns="2"
android:gravity="fill" />
- Und dies ist der Artikel layout:
<?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:padding="6dip" >
<TableRow
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textColor="#E00000"
android:textStyle="bold"
android:gravity="left"
android:textSize="16dip"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textColor="#000000"
android:textStyle="normal"
android:gravity="right"
android:textSize="12dip"/>
</LinearLayout>
</TableRow>
</LinearLayout>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Leider
GridView
ist ein kniffliges layout zu manipulieren, um interne Ansichten passen einer bestimmten Größe, wie Sie versuchen. Ich denke, es ist sinnvoller, denkeGridView
als erweiterteListView
für das zeigen von variabler Länge, scrollbare Listen wie die thumbnails-in einem Foto-album, im Gegensatz zu einem "grid". Ich begann diesen Weg als ich ursprünglich wollte, um eine Feste Größe-raster für ein Spiel, aber es ist wirklich nicht ein geeignetes layout, dass auf allen.Seit Ihr raster ist immer 8 Zellen, könnte ich vorschlagen, mit verschachtelten
LinearLayout
s (oder, wenn Sie nicht möchten, dass alle Zellen genau die gleiche Größe, die komplexerTableLayout
/TableRow
combo) statt:Damit wäre eine Feste 2x4-Gitter, das immer genau den Bildschirm ausfüllt.
Erste, mit PS anstelle von PX. Dies sollte es ermöglichen, zu skalieren, um verschiedene DPI-Geräte.
Sekunde, um jede Zelle zu sein, sogar die Größe kannst du eine tableView in jede Zelle enthält ein klares Bild. Legen Sie die Größe des Bildes mit PS (nicht px). Die tabellensicht sollte Ihnen ermöglichen, auf Ebene der layout-ojects in jeder Zelle und die klare Grafik zu halten, sollten alle Zellen die gleiche Größe haben.
Würde ich auch entfernen, keine Polsterung.
Lassen Sie es uns wissen.
Sollten Sie versuchen [android:stretchMode][1]
[1]: http://developer.android.com/reference/android/widget/GridView.html#attr_android:stretchMode : Legt fest, wie Spalten, dehnen und füllen Sie den verfügbaren freien Speicherplatz, wenn überhaupt.