嗨,谢谢你的帮助!
这是我想要的结果:
这是我的XML:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
<include
android:layout_height="wrap_content"
layout="@layout/filelist" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
其中filelist.xml是:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical" >
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminate="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/scanning" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center" >
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fastScrollEnabled="true"
android:layout_marginLeft="@dimen/list_margin"
android:layout_marginRight="@dimen/list_margin"
android:background="?attr/listBackground" >
</ListView>
<TextView
android:id="@android:id/empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/this_folder_is_empty"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
这就是我得到的
答案 0 :(得分:1)
这可能有用。
内部filelist.xml更改
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center" >
要
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1">
答案 1 :(得分:1)
您可以在线性布局中添加包含标记,如下所示:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<include
android:layout_height="wrap_content"
layout="@layout/filelist" />
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
这可能会对你有帮助。我不知道这是否是一种正确的方法,但现在可能是你的解决方案。
答案 2 :(得分:1)
您需要将您的父ViewGroup
(布局文件中的根节点)设为RelativeLayout
,然后在包含该列表的android:layout_above="@id/THE_BUTTON_CONTAINER
上指定LinearLayout
。
系统将忽略列表中的所有意图以使其自身更大。
android:layout_above
和android:layout_below
是非常方便的方法,当你放置你不知道尺寸的容器时我经常使用它们。示例如下:
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/myMenuBar"
android:layout_below="@+id/myStatusBar" >
此致