2012-01-01 111 views
2

我想添加一個listview或tableview佔據2/3的屏幕,然後會有一個巨大的按鈕在listview下方的中心。現在的問題是,listview佔據屏幕的整個高度。我無法調整圖形佈局上的高度。我想只佔用5個項目的高度尺寸。下面將屏幕上的按鈕中心,Android佈局在相關佈局下的Listview高度調整

<?xml version="1.0" encoding="utf-8"?> 

<RelativeLayout 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:id="@+id/relativeLayout" 
    android:padding="3dp" xmlns:android="http://schemas.android.com/apk/res/android"> 
<ListView android:layout_height="wrap_content" 
    android:id="@+id/listView1" 
    android:layout_width="fill_parent" android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true"></ListView> 

</RelativeLayout> 

回答

3

從你在你的問題說,這聽起來像一個垂直的LinearLayout會更好地爲您。 通過這種方式,您可以通過在頂層LinearLayout中放置兩個視圖,使ListView佔據屏幕的三分之二,並使用權重在屏幕上分配視圖。

例如:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" > 
    <ListView 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="2" > 
    </ListView> 
    <RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="1" > 
     <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true"/> 
    </RelativeLayout> 
</LinearLayout> 
+0

了android:layout_alignParentBottom屬性可能會導致隱藏在按鈕下方的一些列表項。 – mvsagar 2014-07-23 14:50:02

4
<?xml version="1.0" encoding="utf-8"?> 

    <RelativeLayout 
     android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:id="@+id/relativeLayout" 
     android:padding="3dp" xmlns:android="http://schemas.android.com/apk/res/android"> 

<ListView android:layout_height="fill_parent" 
     android:id="@+id/listView1" 
     android:layout_above="@+id/button1" 
     android:layout_width="fill_parent"></ListView> 

<Button android:layout_height="wrap_content" 
     android:id="@+id/button1" 
     android:layout_alignParentBottom="true" 
     android:layout_width="fill_parent"></Button > 

    </RelativeLayout> 
+0

+1這種方式,仍然保持使用RelativeLayout – superjos 2012-03-22 09:11:11

+0

這對我有效。謝謝。不過,除了android:layout_above之外,我必須使用屬性android:layout_below來確保列表視圖位於應用程序中的其他兩個視圖之間。 – mvsagar 2014-07-23 14:47:45