所以我有一个包含ListView的布局......在ListView下面我有各种其他元素......我的问题是如果ListView获取了很多元素,那么底部的元素从屏幕上消失....我怎么能解决这个问题?
我的布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/header"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true">
<TextView android:id="@+id/name_header"
android:textSize="18sp"
android:textStyle="bold"
android:layout_marginLeft="10sp"
android:layout_marginTop="5sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.6"
android:text="@string/product"
/>
<TextView android:id="@+id/quantity_header"
android:textSize="18sp"
android:textStyle="bold"
android:layout_marginTop="5sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.2"
android:text="@string/quantity"
android:gravity="center"
/>
<TextView android:id="@+id/total_price_header"
android:textSize="18sp"
android:textStyle="bold"
android:layout_marginTop="5sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.2"
android:text="@string/price"
android:gravity="center"
/>
</LinearLayout>
<View android:id="@+id/line"
android:layout_width="match_parent"
android:layout_height="2dip"
android:background="#FF0000"
android:layout_below="@+id/header"
/>
<ListView
android:id="@+id/listViewOrder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/line"
android:layout_marginTop="10sp"
android:layout_centerHorizontal="true" >
</ListView>
<View android:id="@+id/line2"
android:layout_width="match_parent"
android:layout_height="2dip"
android:background="#FF0000"
android:layout_marginTop="10sp"
android:layout_below="@+id/listViewOrder"
/>
<TextView android:id="@+id/total_cost"
android:textSize="18sp"
android:textStyle="bold"
android:layout_marginTop="5sp"
android:layout_marginBottom="15sp"
android:layout_marginRight="5sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:layout_below="@+id/line2"
/>
<RadioGroup android:id="@+id/radio"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_below="@+id/total_cost">
<RadioButton android:id="@+id/radio_home"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/radio_home"
android:layout_marginRight="20sp"
android:onClick="onRadioButtonClicked"
/>
<RadioButton android:id="@+id/radio_work"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/radio_work"
android:onClick="onRadioButtonClicked"
/>
</RadioGroup>
</RelativeLayout>
由于
编辑:问题出在我的方法中......我需要的是一个TableLayout ......而且外面的元素是ScrollView
答案 0 :(得分:0)
在listView上放置layout_above。如果你在下面的视图中使用layout_below,它将首先调整listview的大小,然后找到一个放置在它下面的东西的地方,它将在屏幕外。如果你在listView上执行layout_above将它放在这些元素上面,它将首先布置它下面的元素,然后将listview布局在那些元素之上,强制它进入剩余的空间。只记得把最底部的项目与父母的底部对齐。