2

嗨,我创建了一个 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>
4

5 回答 5

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不需要指定

于 2012-07-31T07:56:01.263 回答
1

最简单的方法是在 ListView 下方使用LinearLayoutwithorientation = verticalListViewwith和 Button。layout_weight = 1

于 2012-07-31T07:53:12.903 回答
1

先把按钮放在相对布局中再设置属性

android:layout_above="@id/btn"

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

于 2012-07-31T07:55:14.993 回答
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>
于 2012-07-31T07:59:38.093 回答
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>
于 2012-07-31T08:05:27.543 回答