我希望OK
/Cancel
按钮锚定在底部(即使列表上有更多可以显示在屏幕上的项目)。这是它目前的样子:
按钮在顶部,而不是在底部。
包含按钮的布局:
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="true"
android:id="@+id/buttons_layout">
<TableRow>
<Button
android:id="@+id/btnOK"
android:background="@color/pomegranate"
android:text="OK"
android:layout_gravity="fill_horizontal"
android:layout_weight="1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/btnCancel"
android:background="@color/wet_asphalt"
android:text="Cancel"
android:layout_weight="1"
android:layout_gravity="fill_horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</TableRow>
</TableLayout>
复合布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView android:id="@+id/options_list"
android:layout_width="fill_parent"
android:layout_height="match_parent">
</ListView>
<include layout="@id/buttons_layout"
android:layout_alignParentBottom="true"
android:layout_height="match_parent"
android:layout_below="@id/options_list"/>
</RelativeLayout>
我遵循了我在http://developer.android.com/guide/topics/ui/layout/relative.html上阅读的指南
我试过这个答案 - https://stackoverflow.com/a/6285438/168719 - 它没有帮助我。
我怀疑它可能不起作用,因为列表视图不“知道”它有多高,所以按钮布局也不知道将自己放置在哪里。但我通过将 ListView 高度设置为任意值(如 100dp)来排除它。按钮仍然叠加在它上面。
我摆弄了所有的布局属性,但我无法让它工作。
除了解决方案,我还想知道为什么我的不起作用......