在ScrollView中的列表视图下未显示布局

时间:2016-08-08 20:14:45

标签: android android-layout listview

我有一个布局,里面有1个布局,它都在ScrollView中。我试图让整个屏幕滚动列表视图中的内容,然后是列表视图下面的文本视图。我将整个列表视图填充并正确显示,但所有文本视图的底部布局都没有显示。

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <include
        android:id="@+id/app_bar"
        layout="@layout/app_bar" />

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fillViewport="true"
        android:layout_below="@id/app_bar">

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:padding="10dp">

                <ImageView
                    android:id="@+id/bannerReceiptLogo"
                    android:layout_width="170dp"
                    android:layout_height="75dp"
                    android:layout_centerHorizontal="true"
                    android:layout_marginTop="30dp"
                    android:background="@drawable/img_logo_receipt_cub" />

                <TextView
                    android:id="@+id/bannerAddressHeader"
                    android:layout_width="200dp"
                    android:layout_height="wrap_content"
                    android:layout_below="@id/bannerReceiptLogo"
                    android:layout_centerHorizontal="true"
                    android:layout_marginTop="10dp"
                    android:text="@string/storeHeader"
                    android:textAlignment="center"
                    android:textSize="18sp" />

                <ListView
                    android:id="@+id/fullEReceiptListView"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@id/bannerAddressHeader"
                    android:layout_marginTop="10dp"
                    android:scrollbars="none"/>

                <RelativeLayout
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_below="@id/fullEReceiptListView"
                    android:layout_weight="1">
                <View
                    android:id="@+id/totalDivider"
                    android:layout_width="match_parent"
                    android:layout_height="3dp"
                    android:background="@color/colorGrey"
                     />

                <TextView
                    android:id="@+id/txtSubTotal"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="SUBTOTAL"
                    android:textSize="20sp"
                    android:layout_below="@+id/totalDivider"/>

                <TextView
                    android:id="@+id/txtSubTotalFinal"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="$13.58"
                    android:layout_alignParentRight="true"
                    android:textSize="20dp"
                    android:layout_below="@+id/totalDivider"/>

                <TextView
                    android:id="@+id/txtTaxText"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="TAX"
                    android:textSize="20sp"
                    android:layout_below="@+id/txtSubTotal"/>

                <TextView
                    android:id="@+id/txtTaxTotal"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="$0.80"
                    android:layout_alignParentRight="true"
                    android:textSize="20dp"
                    android:layout_below="@+id/txtSubTotalFinal"/>

                <TextView
                    android:id="@+id/txtCompleteTotal"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="TOTAL"
                    android:textSize="20sp"
                    android:layout_below="@+id/txtTaxText"/>

                <TextView
                    android:id="@+id/txtCompleteTotalNumber"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="$14.38"
                    android:layout_alignParentRight="true"
                    android:textSize="20dp"
                    android:layout_below="@+id/txtTaxText"/>
                </RelativeLayout>
            </RelativeLayout>
    </ScrollView>
</RelativeLayout>

3 个答案:

答案 0 :(得分:0)

如果将ListView高度设置为wrap_content,则高度将具有合并所有项目的高度。这样,以下内容就会被推开。

然而,Android对嵌套滚动没有很好的支持,这被认为是一种不好的做法。这样,您的ListView将没有本机滚动功能,并且需要一些黑客才能按预期工作。

更好的解决方法是使用NestedScrollView,因此您可以滚动(也许您需要将ListView放在另一个父级中以控制高度)

答案 1 :(得分:0)

不要将ListView放在ScrollView内。 ListView是一个已经可滚动的小部件。请参阅支持库中的NestedScrollView

答案 2 :(得分:0)

将ListView的layout_height更改为wrap_content