如何在列表视图高度设置为fill_parent后显示其他视图

时间:2013-11-11 09:18:00

标签: android android-layout listview include

为防止多次GetView调用,我已将ListView的高度设置为fill_parent。

如何显示除ListView本身以外的其他视图?

以下布局在ViewPager中膨胀:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="15dp" >

    <ListView android:id="@+id/lv_viol_infraction"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />

    <include layout="@layout/activity_prontuario_home" />
</LinearLayout>

包含的布局是:

<?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:padding="20dp" >

    <ScrollView
        android:id="@+id/prontuariohome_scrollview"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:scrollbars="none" >
        .
        .
        .
        .
    </ScrollView>

</LinearLayout>

编辑:This solution无法使用高于按钮的视图

5 个答案:

答案 0 :(得分:1)

我不明白你想要达到什么目标,但如果由于某种原因需要将高度设为fill_parent并且不能是任何其他值,你可以将ListViewLinearLayout放在一起位于height="0dp"内的weight="1"<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="15dp" > <LinearLayout android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="1" android:orientation="vertical" > <ListView android:id="@+id/lv_viol_infraction" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </LinearLayout> <include layout="@layout/activity_prontuario_home" /> </LinearLayout> 。所以会是这样的:

{{1}}

答案 1 :(得分:0)

尝试使用以下代码

android:layout_height="0dp"
android:layout_weight="1" 
ListView代码

中的

答案 2 :(得分:0)

使用android:layout_height =“0dip”视图将占用剩余的空闲位置

答案 3 :(得分:0)

你说这个解决方案不会起作用:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView android:id="@+id/lv"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@android:color/white" android:layout_above="@+id/bt"/>
<Button android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:id="@+id/bt" android:layout_alignParentBottom="true"/>

只需将android:layout_above="@+id/bt"添加到listview。

答案 4 :(得分:0)

我很抱歉不清楚。

以下是Sof所讨论的(可能)主线程的link我正在讨论的问题。

经过一番尝试,我很乐意为您解决问题。

在ListView上方放置另一个布局可让LV切割未被ListView本身填充的空间

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="15dp" >

    <LinearLayout android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <ListView android:id="@+id/lv_viol_infraction"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" />
    </LinearLayout>

    <include layout="@layout/activity_prontuario_home" />
</LinearLayout>