我试图制作一个包含listview的页面,其中包含一些textview和按钮。我不希望它固定在底部,除非它被推开。我正在考虑尝试使用listview在线性布局上方对齐的相对布局,但由于某种原因它根本没有显示
代码是
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/feet">
</ListView>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@id/feet"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:id="@+id/total"
android:textSize="32sp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:id="@+id/funds"
android:textSize="32sp"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/buy"
android:id="@+id/buyB"
android:textSize="32sp"
android:onClick="confirmTrans"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/cancel"
android:id="@+id/canc"
android:textSize="32sp"
android:onClick="cancelTrans"
/>
</LinearLayout>
</RelativeLayout>
答案 0 :(得分:2)
这是因为默认情况下,RelativeLayout
将其元素定位在右上角。您需要向LinearLayout
添加属性,例如
android:layout_alignParentBottom="true"
现在,您的LinearLayout
将位于右上角,ListView
位于窗口上方没有空间的ListView
高于LinearLayout
{1}}。
答案 1 :(得分:0)
如果您在ListView中遇到此类问题,请确保使用适当的充气方法。必须指定父视图组以确保正确的通货膨胀。
mLayoutInflater.inflate(R.layout.listitem, parent, false);
而不是
mLayoutInflater.inflate(R.layout.listitem, null);