ich ein Fragment mit einem ListView
bekam:Leere Listview-Layout nicht in der Mitte des Bildschirms angezeigt
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layoutDirection="rtl" >
<ListView
android:id="@+id/listViewPlaces"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</ListView>
<ViewStub
android:id="@android:id/empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout="@layout/empty_list_layout" />
und die empty_list_layout
:
<Button
android:id="@+id/no_result_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:clickable="false"
android:drawableTop="@drawable/app_icon"
android:text="@string/empty_list"
android:textSize="30sp" />
Ich sehe die Schaltfläche in der Mitte des grafischen Layouts der Eclipse für empty_list_layout
, aber wenn die Liste leer ist, wird das Layout am oberen Rand des Bildschirms angezeigt. Warum ist es nicht in der Mitte wie das Layout es zu sagen?
Warum funktioniert es nicht auch, wenn ich die ViewStub-Höhe so ändere, dass sie mit dem übergeordneten Element übereinstimmt? mit seiner Schwerkraft und dem anderen Layout sollte es nicht funktionieren? –
Tatsächlich wird 'gravity' für seine internen childs verwendet, die Eigenschaft, die Sie verwenden möchten, ist' layout_gravity', die die Platzierung der Gravitation in der übergeordneten Klasse bewirkt. –
und wie Sie aus dem xml sehen: Android: layout_gravity = "center" –