带底部按钮的ListActivity

时间:2012-07-31 07:50:37

标签: android-layout

您好我已经创建了一个包含一些数据行的listActivity,并且在屏幕底部(不是列表)我放了一个按钮。我的问题是,如果我的列表已满,因此需要要滚动以便看到其他行,按钮似乎是透明的并且与列表的最后一个元素重叠。所以它看起来并不令人愉快。你有什么建议如何解决这个问题?有没有办法让我的列表为底部按钮留出一些空间?我不想用页脚视图实现它。我会发布xml文件,以便你可以有一个更清晰的图片。

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

  <DragNDrop.DragNDropListView
      android:id="@+id/android:list"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:layout_alignParentLeft="true"
      android:layout_alignParentTop="true"
      android:layout_weight="1" >
  </DragNDrop.DragNDropListView>

  <Button
      android:id="@+id/btn"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentBottom="true"
      android:layout_centerHorizontal="true"
      android:alpha="1"
      android:drawableLeft="@drawable/back"
      android:text="Return" />

</RelativeLayout>

5 个答案:

答案 0 :(得分:2)

试试这个

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

  <Button
      android:id="@+id/btn"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentBottom="true"
      android:layout_centerHorizontal="true"
      android:alpha="1"
      android:drawableLeft="@drawable/back"
      android:text="Return" />

  <DragNDrop.DragNDropListView
      android:id="@+id/android:list"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:layout_above="@id/btn" >
  </DragNDrop.DragNDropListView>

</RelativeLayout>

在RelativeLayout中,默认情况下元素放在左上角,不需要为List指定

答案 1 :(得分:1)

最简单的方法是将LinearLayoutorientation = verticalListViewlayout_weight = 1一起使用,将Button用于ListView。

答案 2 :(得分:1)

将按钮放在相对布局中,然后设置属性

android:layout_above="@id/btn"

列出视图。因此,按钮不会发现最后的元素,因为列表的高度是最大高度减去按钮高度。

答案 3 :(得分:1)

更改你的xml,如下所示

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

<DragNDrop.DragNDropListView
  android:id="@+id/android:list"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:layout_alignParentLeft="true"
  android:layout_alignParentTop="true"
  android:layout_above="@id/btn"
  android:layout_marginBottom="50dp"
  android:layout_weight="1" >
 </DragNDrop.DragNDropListView>

<Button
  android:id="@+id/btn"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_alignParentBottom="true"
  android:layout_centerHorizontal="true"
  android:alpha="1"
  android:drawableLeft="@drawable/back"
  android:text="Return" />

</RelativeLayout>

答案 4 :(得分:1)

试试这个,这样你在整个视图中按钮的比例为10%,列表视图的按钮为90%,按钮不会与最后一个列表元素重叠。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:orientation="vertical"
 android:weightSum="100" >

 <ListView
  android:id="@+id/android:list"
  android:layout_width="match_parent"
  android:layout_height="0dp"
  android:layout_weight="90" >
</ListView>

<Button
  android:id="@+id/btn"
  android:layout_width="wrap_content"
  android:layout_height="0dp"
  android:layout_weight="10"
  android:text="Return" />

</LinearLayout>