ScrollView and ListView android



我有一个问题与scrollView和listView在android。我的滚动视图不起作用。最后一项不出现,listView占据了整个屏幕。

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

My xml file:

    <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>

将ListView放入ScrollView中而不破坏ScrollView是不可能的。最简单的方法是禁用ListView视图回收功能,这将影响性能。如果你仍然需要它(有一些用例),看看这个答案:我怎么能把一个ListView到一个ScrollView没有崩溃?

将整个ScrollViewandroid:orientation="vertical"放在RelativeLayout中。谢谢!

试试这个:

<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>

希望这对你有帮助!

最新更新