ListView中的button在android中不可见

我正在处理一些ListView我想显示一个Button下,我正在使用下面的代码,但是这是行不通的。

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

该button不可见,我不知道为什么:/。 任何帮助将是有益的问候。

Solutions Collecting From Web of "ListView中的button在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" 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> 

发生这种情况是因为ListView高度设置为wrap_content ,这使得它扩展为容纳所有的项目,在button的屏幕上不留空间。 您可以使用相对布局设置底部的button,然后使用列表视图占据剩余的空间:

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

我已经在列表视图中添加了这行………….. android:weight =“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> 

为此,button和列表视图应该在同一个线性布局,如果所有的视图都是相对布局,添加列表视图和button到线性布局,并给列表视图权重为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> 

增加重量或alignment底部将使button始终浮动在屏幕的底部。 名单将在下面。

如果要在向下滚动列表后显示button,则将该button作为页脚添加到列表视图中。