【发布时间】:2013-07-15 18:29:21
【问题描述】:
如果列表比视图大,我正在尝试将按钮锚定到视图的底部以及列表的底部。
所以我希望它们在列表小于屏幕时看起来像这样:
更大的时候会这样:
我知道我应该使用RelativeLayout 将按钮与android:layout_alignParentBottom="true" 一起放置在页面底部,但是当我还添加android:layout_below="@id/table_wrapper" 时,如果内容小于视图,我的按钮高度会变得混乱:
有谁知道我如何做到这一点?
我的代码的简化版:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/book_layout_whole"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/table_wrapper"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/vertical_header_table"
android:layout_width="85dp"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:text="Day"
android:gravity="center"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:text="Day"
android:gravity="center"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:text="Day"
android:gravity="center"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:text="Day"
android:gravity="center"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:text="Day"
android:gravity="center"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:text="Day"
android:gravity="center"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:text="Day"
android:gravity="center"/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<View
android:layout_width="wrap_content"
android:layout_height="40dp"
android:background="#444444"></View>
<View
android:layout_width="wrap_content"
android:layout_height="40dp"
android:background="#444444"></View>
<View
android:layout_width="wrap_content"
android:layout_height="40dp"
android:background="#444444"></View>
<View
android:layout_width="wrap_content"
android:layout_height="40dp"
android:background="#444444"></View>
<View
android:layout_width="wrap_content"
android:layout_height="40dp"
android:background="#444444"></View>
<View
android:layout_width="wrap_content"
android:layout_height="40dp"
android:background="#444444"></View>
<View
android:layout_width="wrap_content"
android:layout_height="40dp"
android:background="#444444"></View>
</LinearLayout>
</LinearLayout>
<Button
android:text="load more"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/table_wrapper"
android:layout_alignParentBottom="true"
android:gravity="center"
android:padding="20dp"
/>
</RelativeLayout>
</ScrollView>
</LinearLayout>
注1:
删除android:layout_below="@id/table_wrapper" 将导致按钮始终位于屏幕底部,即使列表大于屏幕。
注2
添加layout_weight 不起作用,因为我的视图大小是动态的。
【问题讨论】:
-
TextView 应该与视图对齐??
-
与视图对齐是什么意思?两个LinearLayouts的原因是为了创建标题(文本视图)的效果,一些图标进入灰色区域
-
只是觉得使用列表视图会更好...
-
我不能使用 ListView,因为我正在捕获滑动手势和滚动动态填充数据的图标。