问题描述
|
我在对话框中有一个ListView,我需要在列表后显示一个按钮。
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<RelativeLayout
xmlns:android=\"http://schemas.android.com/apk/res/android\"
android:layout_width=\"fill_parent\" android:layout_height=\"wrap_content\">
<TextView android:id=\"@+id/tvwGameOver\" android:layout_weight=\"1\" android:gravity=\"center\"
android:textSize=\"25sp\" android:visibility=\"gone\"
android:layout_width=\"fill_parent\" android:layout_height=\"wrap_content\"/>
<LinearLayout
android:id=\"@+id/lloPlayerNames\" xmlns:android=\"http://schemas.android.com/apk/res/android\"
android:layout_width=\"fill_parent\" android:layout_height=\"wrap_content\"
android:orientation=\"horizontal\" android:footerDividersEnabled=\"true\"
android:headerDividersEnabled=\"true\" android:layout_below=\"@id/tvwGameOver\">
<TextView
android:id=\"@+id/tvwGameNumberHeader\" android:layout_weight=\"1\" android:gravity=\"right\"
android:text=\"@string/scores_GameNumber\" android:textSize=\"12sp\"
android:layout_width=\"fill_parent\" android:layout_height=\"wrap_content\"
android:layout_marginRight=\"13sp\"/>
<TextView
android:id=\"@+id/tvwPlayer0Name\" android:layout_weight=\"1\" android:gravity=\"right\"
android:textSize=\"12sp\"
android:layout_width=\"fill_parent\" android:layout_height=\"wrap_content\"
android:layout_marginRight=\"13sp\"/>
<TextView
android:id=\"@+id/tvwPlayer1Name\" android:layout_weight=\"1\" android:gravity=\"right\"
android:textSize=\"12sp\"
android:layout_width=\"fill_parent\" android:layout_height=\"wrap_content\"
android:layout_marginRight=\"13sp\"/>
<TextView
android:id=\"@+id/tvwPlayer2Name\" android:layout_weight=\"1\" android:gravity=\"right\"
android:textSize=\"12sp\"
android:layout_width=\"fill_parent\" android:layout_height=\"wrap_content\"
android:layout_marginRight=\"13sp\"/>
<TextView
android:id=\"@+id/tvwPlayer3Name\" android:layout_weight=\"1\" android:gravity=\"right\"
android:textSize=\"12sp\"
android:layout_width=\"fill_parent\" android:layout_height=\"wrap_content\"
android:layout_marginRight=\"13sp\"/>
</LinearLayout>
<ListView
android:id=\"@+id/lvwscores\" android:layout_below=\"@id/lloPlayerNames\"
android:layout_width=\"fill_parent\" android:layout_height=\"wrap_content\"
android:divider=\"#FFFFFF\" android:dividerHeight=\"1dip\"
android:layout_weight=\"1\"
android:footerDividersEnabled=\"true\" android:headerDividersEnabled =\"true\"/>
<Button android:id=\"@+id/btnOK\"
android:layout_height=\"wrap_content\" android:layout_width=\"120dip\"
android:layout_weight=\"1\"
android:text=\"OK\" android:layout_centerHorizontal=\"true\"
android:layout_alignParentBottom=\"true\"
/>
</RelativeLayout>
问题是,当列表太大时,它会通过按钮,而按钮位于列表顶部。
我试图将android:layout_below = \“ @ id / lvwscores \”添加到按钮,但是,当列表为空时,我得到一个从屏幕底部到列表底部运行的按钮。
如果删除android:layout_alignParentBottom = \“ true \”,则对话框变小。
归根结底,我希望列表填充屏幕的大部分内容,即使它的一部分仍然为空(这是一个分数屏幕),按钮也位于底部。
有任何想法吗?
这是空时的样子:
很棒,但是当列表建立并到达底部时,下拉列表不会停留在该按钮上。
解决方法
您能否为列表视图或列表视图的容器的底部留出一定的边距,即按钮的高度?就像测试一样,将按钮的高度设置为30度,并使listview或listview的容器的底部边距为30度,以查看按钮是否仍在按钮后面运行。
, 该按钮应具有
android:layout_below=\"@id/lvwScores\"
对于没有fill_parent的RelativeLayouts来说,alignParentBottom不是最佳方法。