我正在处理一些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>
按钮不可见,为什么?
答案 0 :(得分: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 :(得分: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>
答案 2 :(得分:5)
我已添加此行.............. 机器人:重量=&#34; 1&#34; .......... 在列表视图中如下
<?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>
答案 3 :(得分:1)
为此,按钮和列表视图应位于相同的linearlayout中,如果所有视图都处于相对布局,则将listview和按钮添加到线性布局并将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>
答案 4 :(得分:0)
添加重量或对齐底部会使按钮始终浮动在屏幕底部。列表将低于它。
如果要在向下滚动列表后显示按钮,请将按钮作为页脚添加到列表视图中。