我有一个布局,里面有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>
答案 0 :(得分:0)
如果将ListView
高度设置为wrap_content
,则高度将具有合并所有项目的高度。这样,以下内容就会被推开。
然而,Android对嵌套滚动没有很好的支持,这被认为是一种不好的做法。这样,您的ListView
将没有本机滚动功能,并且需要一些黑客才能按预期工作。
更好的解决方法是使用NestedScrollView,因此您可以滚动(也许您需要将ListView
放在另一个父级中以控制高度)
答案 1 :(得分:0)
不要将ListView
放在ScrollView
内。 ListView
是一个已经可滚动的小部件。请参阅支持库中的NestedScrollView
。
答案 2 :(得分:0)
将ListView的layout_height更改为wrap_content