我有四个LinearLayouts,顶部一个作为包装器,其余包含对象。我希望中心一个(使用ListView)来填充我的屏幕。所以,我应该看到button1,然后是可滚动的项目列表,然后是屏幕底部的button2。
如果我尝试设置LinearLayout或ListView的layout_height属性,我会丢失button2。
也许,我甚至不应该使用LinearLayouts?任何建议都非常感谢!我的布局XML如下。
<?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:orientation="vertical">
<LinearLayout android:id="@+id/linearLayout1"
android:layout_width="match_parent" android:layout_height="wrap_content">
<Button android:text="Button" android:id="@+id/button1"
android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
</LinearLayout>
<LinearLayout android:id="@+id/linearLayout3"
android:layout_width="match_parent" android:layout_height="wrap_content">
<ListView android:id="@+id/android:list"
android:layout_width="fill_parent" android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android" />
</LinearLayout>
<LinearLayout android:id="@+id/linearLayout2"
android:layout_width="match_parent" android:layout_height="wrap_content">
<Button android:text="Button" android:id="@+id/button2"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="bottom"></Button>
</LinearLayout>
</LinearLayout>
答案 0 :(得分:2)
为什么不尝试摆脱包装每个项目的线性布局,并将最外层的LinearLayout设置为android:orientation =“vertical”?这样一切都会按照你的意愿堆叠。
答案 1 :(得分:1)
使用类似的东西
<?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:orientation="vertical">
<Button android:text="Button" android:id="@+id/button1"
android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
<ListView android:id="@+id/android:list"
android:layout_width="fill_parent" android:layout_height="0dp"
android:layout_weight="1.0" />
<Button android:text="Button" android:id="@+id/button2"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:layout_gravity="bottom"></Button>
</LinearLayout>
答案 2 :(得分:0)
将linearLayout3更改为:
<LinearLayout android:id="@+id/linearLayout3"
android:layout_width="match_parent" android:layout_height="match_parent"
android:layout_weight="1.0">
<ListView android:id="@+id/android:list"
android:layout_width="fill_parent" android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android" />
</LinearLayout>
基本上将layoutHeight设置为'match_parent',并将'layout_weight'添加到'1.0'。
答案 3 :(得分:0)
<?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:orientation="vertical">
<Button android:text="Button"
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<ListView android:id="@+id/android:list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<Button android:text="Button"
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"/>
</LinearLayout>
以这种方式做到....