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