0

我想将两个Listviews(+两个Textviews)和一个Button均匀地放入一个LinearLayout中。最终结果应如下所示:

在此处输入图像描述

Listviews 可以包含任意数量的项目(从空到需要滚动),但是按钮必须始终可见。这里的很多答案建议与andlayout_weight一起使用,但是这会导致 Listviews 占用所有可用空间并将按钮推出屏幕。我假设按钮的参数是错误的,但我不知道它们中的哪一个。至少 TextViews 正在工作,因为它们在每种情况下都正确定位。layout_height="0dp"layout_width="fill_parent"

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"                  
              android:gravity="center"
              android:layout_gravity="center">

    <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"               
            android:textSize="12sp"
            android:gravity="left"/>

    <ListView
            android:layout_height="0dp"                
            android:layout_weight="1"
            android:layout_width="fill_parent"/>

    <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"                
            android:textSize="12sp"
            android:layout_marginTop="12dp"
            android:gravity="left"/>

    <ListView
            android:layout_height="0dp"               
            android:layout_weight="1"
            android:layout_width="fill_parent"/>

    <Button              
            android:layout_height="0dp"
            android:layout_weight="1"
            android:layout_width="fill_parent"/>

</LinearLayout>

我想避免用额外的 LinearLayouts 进一步嵌套布局,除非没有其他方法。

4

1 回答 1

2

像这样的东西(未经测试):

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent">

    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"               
            android:textSize="12sp"/>

    <ListView
            android:layout_height="0dp"                
            android:layout_weight="1"
            android:layout_width="fill_parent"/>

    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"                
            android:textSize="12sp"
            android:layout_marginTop="12dp"/>

    <ListView
            android:layout_height="0dp"               
            android:layout_weight="1"
            android:layout_width="fill_parent"/>

    <Button              
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_width="wrap_content"/>

</LinearLayout>

您的按钮需要具有wrap_content高度,并且(我认为您的错误的原因)LinearLayout应该具有fill_parent高度。

于 2013-05-30T14:52:14.943 回答