我想在顶部制作带有TextView的屏幕(标题) 一个ListView在中间 和底部的按钮。 如何放置ListView,它将填充顶部TextView和底部按钮之间的整个空间,并能够滚动其内容?
现在,当我的列表增长时,它会在屏幕外按下底部按钮。
我有:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<Button android:id="@+id/button1"
android:layout_height="wrap_content"
android:text="Button"
android:layout_width="wrap_content"
/>
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:layout_alignParentBottom="true"
/>
<ListView android:id="@+id/lvLocations"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<TextView android:layout_height="0dip"
android:layout_width="fill_parent"
android:layout_weight="1"
/>
<Button android:text="LayerDrawable"
android:id="@+id/button5"
android:textSize="15dp"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:background="@drawable/layer_drawable"
/>
</LinearLayout>
最后TextView
用于填补空白并将Button
移至底部。
答案 0 :(得分:13)
使用LinearLayout
。使用layout_weight="1"
将ListView
设置为layout_height="fill_parent"
。去除其他元素的重量。
<ListView android:id="@+id/lvLocations"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
></ListView>
答案 1 :(得分:3)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/title"
android:text="arg0"
android:gravity="center"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1" android:textStyle="bold"/>
</LinearLayout>
<ListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/prevButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Previous"
android:layout_weight="1"/>
<Button
android:id="@+id/nextButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Next"
android:layout_weight="1"/>
</LinearLayout>
</LinearLayout>
这正是我设置的方式,而且效果很好。
答案 2 :(得分:0)
将所有元素换成layout:LinearLeyout或RelativeLayout。
答案 3 :(得分:0)
你可以使用android的帮助:layout_below =&#34;&#34;和android:layout_above =&#34;&#34;达到预期的效果。 希望这可以帮助。