我有这个布局:
所有视图都水平填充整个空间,它们位于LinearLayout
垂直方向内。蓝色部分具有固定的高度(它们具有wrap_content
属性)。
红色部分是ListView
。如果列表中没有足够的元素,同时如果它有更多的元素,它会阻止它向下推动最后两个元素,如何填充该中心空间?
到目前为止,它没有按下它下面的两个视图(使用layout_weight="1"
属性),但是如果它没有足够的元素,它会缩小并使这两个元素上升,留下一个丑陋的他们下面有空白。
这就是:
这就是我的期望:
请注意,即使ListView
较小,最后两个视图也不会上升。
到目前为止,我已经尝试过:
android:gravity="bottom"
属性,但视图仍然在上升。可行的方法
我一直在搞乱,我认为RelativeLayout
可能有效,使用像layout_alignBottom
这样的属性,而不是对齐到给定视图的末尾,它与它的开头对齐。
解
解决方案是使用RelativeLayout
并将列表的layout_above
和layout_below
属性设置为我想要将其对齐的元素。
答案 0 :(得分:3)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.stackoverflow.app.MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minHeight="48dp"
android:text="@string/hello_world" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minHeight="48dp"
android:text="@string/hello_world" />
</LinearLayout>
答案 1 :(得分:1)
如何将列表视图包装在布局中,并为布局指定固定高度。
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="300dp" >
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
</RelativeLayout>
答案 2 :(得分:1)
这里有几个可能适合您的选项。让我知道它是怎么回事。
选项1: 将包含垂直方向的线性布局设置为fill_parent / match_parent(它们是相同的)。然后将底部2视图的重力或布局重力设置为底部。
选项2: 包含具有固定高度的线性布局中的列表视图。将列表视图设置为wrap_content。
编辑
你可以使用相对布局,这里的链接似乎做你需要的 http://www.javacodegeeks.com/2013/10/android-fixed-header-and-footer-with-scrollable-content-layout-example.html