Android layout 带底部按钮的ListActivity

Android layout 带底部按钮的ListActivity,android-layout,Android Layout,您好,我创建了一个包含一些数据行的listActivity,在屏幕底部(不是列表)我放置了一个按钮。我的问题是,如果我的列表已满,因此需要滚动以查看其他行,该按钮似乎是透明的,并且与列表的最后一个元素重叠。因此看起来不太美观。您对如何解决此问题有何建议?我的列表是否有办法为底部按钮留出一些空间?我不想使用页脚视图来实现它。我将发布xml文件,以便您可以更清楚地看到它照片 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout

您好,我创建了一个包含一些数据行的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>


最简单的方法是使用
orientation=vertical
LinearLayout
ListView
layout\u weight=1
和ListView下方的按钮。

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

android:layout_above="@id/btn"
列表视图。因此按钮不会发现最后的元素,因为列表的高度是“最大高度”减去“按钮高度”。

试试这个

    <?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中,默认情况下元素放置在左上角,无需为列表指定更改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>

试试这个,这样,在整个视图中,按钮的比例为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>

好的,我尝试了所有的方法,这似乎很有效,因为我想感谢大家的回答和时间