Android ListView不会扩展整个屏幕

时间:2011-09-06 15:09:20

标签: android listview

我的问题类似于此处的问题:Android ListView doesn't expand the whole screen?

XML是:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:id="@+id/ResultLayout">

    <ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent">
        <ListView android:layout_width="fill_parent" android:id="@+id/ListView"
            android:layout_height="fill_parent"></ListView>
    </ScrollView>
    <LinearLayout android:id="@+id/pagingPanel"
        android:gravity="center" android:layout_width="fill_parent"
        android:layout_height="fill_parent" android:orientation="horizontal"></LinearLayout>
    <Spinner android:layout_width="fill_parent" android:id="@+id/ManSpinner"
        android:layout_height="fill_parent" />
</LinearLayout>

在这种情况下,我应该ScrollViewPagingPanel LinearLayout将会消失。

修改

所需的布局是将所有元素叠加在一起。但如果元素超出页面高度,则应将滚动添加到ListView

1 个答案:

答案 0 :(得分:1)

如果您有垂直LinearLayout,则fill_parent元素的layout_height不能有多个LinearLayout。你想要实现什么样的布局?为所有元素统一划分屏幕?

另一个问题是在ListView中使用ScrollView也不是一个好主意,因为ListView本身是可滚动的。

您应该编写您希望使用XML实现的布局。通常也是一种很好的做法,可以通过多个步骤编写XML,并按布局迭代到解决方案布局。

编辑:好的,尝试这样的事情:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    android:id="@+id/ResultLayout">

    <ListView android:id="@+id/ListView"
        android:layout_width="fill_parent" 
        android:layout_height="0dp"
        android:layout_weight="1" />

    <LinearLayout android:id="@+id/pagingPanel"
        android:gravity="center" 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:orientation="horizontal">

    </LinearLayout>

    <Spinner android:id="@+id/ManSpinner"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" />

</LinearLayout>