ScrollView和ListView android

时间:2014-08-04 09:35:56

标签: android xml listview scrollview

我在android中有一个scrollView和一个listView的问题。 我的Scrollview不起作用。最后一项没有出现,listView占据了整个屏幕。

我不知道为什么,我还没有找到答案。

我的xml文件:

    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fillViewport="true">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <TextView
            android:id="@+id/additionName"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:gravity="center_horizontal"
            android:text="Your Order"
            android:textSize="30dp" />

        <ListView
            android:id="@+id/additionListviewProducts"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/additionName"
            android:layout_marginBottom="10dp"
            android:layout_marginLeft="15dp"
            android:layout_marginRight="15dp"
            android:layout_marginTop="10dp"
            android:isScrollContainer="false"/>

        <View
            android:id="@+id/additionLineSeparator"
            android:layout_width="fill_parent"
            android:layout_height="1dp"
            android:layout_below="@+id/additionListviewProducts"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:background="#000000" />

        <TextView
            android:id="@+id/additionTotal"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/additionLineSeparator"
            android:layout_marginRight="20dp"
            android:layout_marginTop="5dp"
            android:gravity="right"
            android:text="100 euros"
            android:textSize="20sp" />

        <Button
            android:id="@+id/validatePayment"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/additionTotal"
            android:layout_marginLeft="30dp"
            android:layout_marginRight="30dp"
            android:background="@drawable/button_style"
            android:text="Order"
            android:textSize="25sp" />

    </LinearLayout>
</ScrollView>

3 个答案:

答案 0 :(得分:2)

在不破坏ScrollView的情况下将ListView放在ScrollView中是不可能的。无论如何,实现它的简单方法是禁用ListView视图回收功能,这将影响性能。如果您仍然需要它(有一些用例),请参阅以下答案:How can I put a ListView into a ScrollView without it collapsing?

答案 1 :(得分:0)

ScrollView整个RelativeLayout放入android:orientation="vertical" {{1}}。谢谢!

答案 2 :(得分:0)

试试这个:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:id="@+id/relativeLayout1212" 
                android:layout_width="fill_parent"
                android:layout_height="fill_parent" >

 <ScrollView 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fillViewport="true">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <TextView
            android:id="@+id/additionName"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:gravity="center_horizontal"
            android:text="Your Order"
            android:textSize="30dp" />

        <ListView
            android:id="@+id/additionListviewProducts"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/additionName"
            android:layout_marginBottom="10dp"
            android:layout_marginLeft="15dp"
            android:layout_marginRight="15dp"
            android:layout_marginTop="10dp"
            android:isScrollContainer="false"/>

        <View
            android:id="@+id/additionLineSeparator"
            android:layout_width="fill_parent"
            android:layout_height="1dp"
            android:layout_below="@+id/additionListviewProducts"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:background="#000000" />

        <TextView
            android:id="@+id/additionTotal"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/additionLineSeparator"
            android:layout_marginRight="20dp"
            android:layout_marginTop="5dp"
            android:gravity="right"
            android:text="100 euros"
            android:textSize="20sp" />

        <Button
            android:id="@+id/validatePayment"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/additionTotal"
            android:layout_marginLeft="30dp"
            android:layout_marginRight="30dp"
            android:background="@drawable/button_style"
            android:text="Order"
            android:textSize="25sp" />

    </LinearLayout>
</ScrollView>
</RelativeLayout>

希望这可以帮到你!