2011-06-14 103 views
0

我在對話框中有一個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

這是偉大的,除了當列表積聚並達到底部降下來,不是在按鈕停止。

+0

RelativeLayout有什麼意義?要始終在底部有按鈕?爲什麼不使用LinearLayout並給ListView權重1? – dmon 2011-06-14 20:08:11

回答

1

你可能給列表視圖或列表視圖的容器在底部的邊緣是按鈕的高度?就像測試一樣,給按鈕30下的高度,並讓listview或listview的容器的下邊距爲30下,以查看它是否仍然在按鈕後面運行。

+0

我會試一試。需要幾分鐘時間來完成。 – theblitz 2011-06-14 20:19:37

+0

完美!非常感謝! – theblitz 2011-06-14 20:28:44

+0

很高興爲您服務 – 2011-06-14 20:55:22

0

按鈕應該具有 android:layout_below="@id/lvwScores"

alignParentBottom不是不FILL_PARENT RelativeLayouts最好的辦法。

+0

問題是我希望列表填充對話框,即使它是空的。請參閱編輯。 – theblitz 2011-06-14 20:16:51