带下面按钮的Listview无法正常工作

问题描述

| 我在对话框中有一个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不是最佳方法。