Android-Layout mit ListView zwischen einer "top-bar" und "bottom bar"
Ich versuche zu konstruieren, ein layout, wo es eine text-Ansicht auf dem Bildschirm oben und unten Balken am unteren Rand des Bildschirms.
Jede dieser Ansichten soll bleiben fixiert und zwischen der 2 sollte eine ListView.
TOPBAR
LISTVIEW (scrollable)
BOTTOM BAR
Meinem layout (siehe unten) fast funktioniert: die oberen und unteren Komponenten fixiert bleiben und das listview-Schriftrollen. Das "problem" ist, dass die Letzte Zeile meiner ListView bleibt verborgen hinter der unteren Leiste.
Irgendwelche Vorschläge, wie können Sie das layout?
Dank!
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:layout_alignParentTop="true"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<TextView
android:background="@drawable/blackgrad"
android:gravity="center"
android:id="@+id/title"
android:layout_height="50dip"
android:layout_width="fill_parent"
android:text="blah blah"
android:textColor="#ffffff"
android:textSize="18sp"
/>
<ListView
android:background="#ffffff"
android:cacheColorHint="#ffffffff"
android:id="@android:id/list"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
/>
</LinearLayout>
<LinearLayout
android:background="#efefef"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_width="fill_parent"
android:layout_height="50dip"
android:orientation="horizontal">
<Button
android:layout_height="wrap_content"
android:id="@+id/back"
android:text="Back"
android:layout_width="wrap_content" />
<Button
android:layout_height="wrap_content"
android:id="@+id/home"
android:text="Home"
android:layout_width="wrap_content" />
<Button
android:layout_height="wrap_content"
android:id="@+id/next"
android:text="Next"
android:layout_width="wrap_content" />
</LinearLayout>
</RelativeLayout>
InformationsquelleAutor user141146 | 2010-10-21
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kommt hier ein einfacher Vorschlag. Machen Sie eine neue XML-und haben ein zu gehen mit diesem.
in meinen Händen der Fußzeile dieses layout nicht gerade bis Ende des listview überhaupt.
Ich versuche es jetzt und seine Arbeit so wie es sein soll. Es scheint zu funktionieren für user141146 aswell.
Habe es gerade getestet, ich denke, es funktioniert. Ehrlich gesagt, ich bin mir nicht sicher, warum das funktioniert, aber es funktioniert
wenn ich eine Benutzerdefinierte listActivity, wie zu tun?
InformationsquelleAutor glr
Das problem mit OPs-layout ist, dass das erste linear-layout eingestellt ist als
android:layout_height="fill_parent"
die bewirken, dass das erste linear-layout zu füllen die Eltern. Sie weiß es nicht, du wirst Sie noch weitere Ansichten. Was Sie tun müssen, ist das hinzufügen von Ansichten in der Reihenfolge, dass Sie wissen, Ihre Größe. Damit Sie wissen, die Größe der top-par und die untere Leiste, können Sie fügen Sie diese alsandroid:layout_height="wrap_content"
. Dann fügen Sie die listview, da es die Größe ist unbekannt, zur compile-Zeit.InformationsquelleAutor Falmarri
Habe ich erreicht, was Sie zu tun versuchen, in einer ähnlichen Art und Weise, mit IDs und die layout_below/layout_above Attribute. Die
View
s angeordnet sind, in einer anderen Weise, aber das Endergebnis ist das gleiche. EinListView
zwischen zwei anderenLinearLayout
s, einer oben und einer unten.In der
ListView
Sie sehen können, habe ich:Diese Attribute position der
ListView
zwischen meinen oberen und unterenLinearLayout
s.InformationsquelleAutor Jason Knight
Ich hatte diese Art von problem. Ich habe drei layouts anstelle von zwei, und diese Art der Lösung :
und das wichtigste (dein problem) : ich füge android:layout_marginBottom, um das layout mit der listview. Ich musste einige Anpassung an den Wert zu finden, bevor die eine ausreichende Marge.
InformationsquelleAutor Squares Designs
Ich habe einen anderen Weg gefunden, um dies zu tun mit layout_weight die, wenn Sie eingeschlossen in einem linearen layout. Wenn Sie das ListView Gewicht etwas beliebig groß und die statische unteren Leiste das Gewicht etwas sehr klein, der Effekt funktioniert. Sowohl die Listen-Anzeige und der unteren Leiste ist für die Höhe muss festgelegt werden "wrap_content" machen alles arbeiten Sie zusammen als gut.
InformationsquelleAutor
Ich habe festgestellt, ich denke, die einfachere Lösung nur aus diese post
Nur erklären, sondern beide Balken VOR der viewlist hinzufügen android:layout_alignParentBottom="true" und android:layout_alignParentTop="true" in jedem Fall.
Geben Sie dann in die viewlist layout, dass es zwischen Ihnen mit android:layout_above="id_of_footer" und android:layout_below="id_of_header" Eigenschaften.
Dies Beispiel von meiner app. Nur mit footer-bar.
InformationsquelleAutor Gonzalo Cao