我有一个带有LinearLayout的main.xml,里面有三个项目,LinearLayout,ListView和LinearLayout。我希望ListView尽可能大,同时保持底部LinearLayout始终显示而不是收缩或从屏幕上掉下来。
我尝试过制作ListView高度fillparent,但是底部的LinearLayout没有显示,与wrapcontent一样,因为ListView有很多内容。
当我将ListView设置为一个设置大小,比如300dp时,我在底部LinearLayout下面有空格。我尝试通过使顶级LinearLayout gravity = fill来解决这个问题,但这没有帮助。
另外,根据我尝试使用的android,底部的LinearLayout将从屏幕上掉落,或者缩小。 如果它是相关的,顶层LinearLayout设置为高度的fillparent。 我的目标是保持顶部和底部的LinearLayout包装他们的内容,中间的ListView填充剩下的...任何建议? 提前感谢您的努力!
答案 0 :(得分:3)
我相信您只需将android:layout_weight="1"
添加到ListView,ListView设置为fill_parent的高度,并将两个LinearLayouts设置为wrap_content。无论如何,我通常更喜欢使用RelativeLayout。您可以指定标题以对齐到屏幕顶部,页脚对齐到底部,ListView用于填充其间的空间,如下所示:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout
android:id="@+id/header"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
>
//...insert stuff here
</LinearLayout>
<LinearLayout
android:id="@+id/footer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
>
//...insert stuff here
</LinearLayout>
<ListView
android:id="@+id/listview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_above="@id/footer"
android:layout_below="@id/header"
/>
</RelativeLayout>