如果列表比视图大,我正在尝试将按钮锚定到视图的底部以及列表的底部。
所以当列表小于屏幕时,我希望它们看起来像这样:
当更大时像这样:
我知道我应该使用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
不起作用,因为我的视图大小是动态的。