2012-06-22 56 views
7

我正在處理一些ListView我想在它下面顯示一個Button我正在使用下面的代碼,但這不起作用。在ListView下的按鈕在Android中不可見

<?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" > 

<ListView 
    android:id="@android:id/list" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:cacheColorHint="#00000000" 
    android:drawSelectorOnTop="false" /> 

<Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Button" /> 

</LinearLayout> 

該按鈕不可見,我不知道爲什麼:/。任何幫助將是有益的問候。

+0

嘗試給它一個限定的寬度值,而不是WRAP_CONTENT,即 '150dp'。 – Mxyk

+0

我試過這個和listview流血到按鈕區域。 – EJK

回答

9

列表視圖需要完整的頁面。試着給你的代碼賦予所需的權重。使用此代碼,

<?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:id="@android:id/list" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:cacheColorHint="#00000000" 
    android:drawSelectorOnTop="false" 
    android:layout_weight="5" /> 

<Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Button" 
    android:layout_weight="1" /> 

</LinearLayout> 
+1

很好用android:layout_weight代替android:weight。 – Mornor

8

發生這種情況的原因是ListView的高度設置爲wrap_content,這會使其擴展爲容納所有項目,從而在按鈕的屏幕上不留空間。您可以使用相對佈局沿底部,然後在列表視圖設置按鈕佔據剩餘的空間:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

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

<ListView 
    android:id="@android:id/list" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:cacheColorHint="#00000000" 
    android:drawSelectorOnTop="false" 
    android:layout_above="@id/button1" /> 

</RelativeLayout> 
+0

這將使按鈕始終浮動在屏幕的底部。不是您可以滾動列表並找到按鈕的效果。 –

+0

但這不是這個問題。 –

5

我已經加入此線.............. 機器人:權重= 「1」 .......... 內列表視圖如下

<?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" > 

<ListView 
    android:id="@android:id/list" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:cacheColorHint="#00000000" 
    android:drawSelectorOnTop="false" 
    android:weight="1" 
/> 

<Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Button" /> 

</LinearLayout> 
+0

你應該寫下你的修改,我們必須找到你的不同和OP代碼 – maskacovnik

+1

我已經添加了這一行.............. android:weight =「1」..... .....在列表視圖中 – Cloy

+0

這件事也幫助了我................謝謝 – krishnamahadik

0

增加重量或對齊底部將使按鈕始終浮動在屏幕底部。該清單將會在它下面。

如果想在向下滾動列表後顯示按鈕,則將該按鈕作爲頁腳添加到列表視圖中。

1

爲此,按鈕和列表視圖應該在同一個線性佈局中,如果所有視圖都是相對佈局,請將列表視圖和按鈕添加到線性佈局並將listview權重設置爲1,這對我很有用。

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/activity_shipping_address" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="@drawable/background_all" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context="com.reallymake.android.pottery.ShippingAddressActivity"> 

<Button 
    android:id="@+id/button1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/textView9" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="13dp" 
    android:background="@drawable/button_shape" 
    android:text="@string/ok" 
     /> 

    <LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_below="@+id/btn_add_new_address" 
    android:orientation="vertical"> 


    <ListView 
     android:id="@+id/lv_addresses" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_below="@+id/list" 
     android:layout_marginTop="14dp" 
     android:layout_weight="1" /> 

    <Button 
     android:id="@+id/btn2" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/lv_addresses" 
     android:layout_marginTop="14dp" 
     android:background="@drawable/button_shape" 
     android:text="@string/proceed" /> 
</LinearLayout> 

相關問題