如果列表比视图大,我试图将一个按钮固定到视图的底部以及列表的底部。
所以当列表小于屏幕时,我希望它们看起来像这样:
并且在更大的时候喜欢这样:
我知道我应该使用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>
删除android:layout_below="@id/table_wrapper"
会导致按钮始终位于屏幕底部,即使列表大于屏幕也是如此。
添加layout_weight
不起作用,因为我的视图大小是动态的。
答案 0 :(得分:1)
然后使用以下内容,肯定会帮助您,我已经过测试了!
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="bottom"
android:layout_alignParentBottom="true"
android:layout_below="@id/table_wrapper" >
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="20dp"
android:text="load more" />
</LinearLayout>
答案 1 :(得分:0)
我不知道为什么我的帖子被George Stocker删除了
检查maclir应该适合你:
<?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" >
<LinearLayout
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="fill_parent"
android:layout_weight="1"
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:gravity="center"
android:text="Day" />
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:gravity="center"
android:text="Day" />
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:gravity="center"
android:text="Day" />
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:gravity="center"
android:text="Day" />
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:gravity="center"
android:text="Day" />
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:gravity="center"
android:text="Day" />
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:gravity="center"
android:text="Day" />
</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>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="5.5"
android:orientation="vertical" >
<Button
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:padding="20dp"
android:text="load more" />
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>