Listview与下面的按钮不能正常工作

时间:2011-06-14 20:04:45

标签: android listview button dialog

我在对话框中有一个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”,则对话框变小。

在一天结束时,我希望列表的大部分内容都填满,即使部分屏幕仍为空(这是一个分数屏幕),按钮位于底部。

有什么想法吗?

这是空的时候的样子: enter image description here

很棒,除了当列表建立并到达底部时,不停在按钮处。

2 个答案:

答案 0 :(得分:1)

你可以给列表视图或列表视图的容器底部的边距是按钮的高度吗?正如测试一样,给按钮高度为30 dips并让listview或listview的容器有一个30下降的下边距,看它是否仍然在按钮后面运行。

答案 1 :(得分:0)

按钮应该有 android:layout_below="@id/lvwScores"

alignParentBottom不是不使用fill_parent的RelativeLayouts的最佳方法。