Recycler视图隐藏其下方的数据

时间:2016-05-17 03:08:45

标签: android android-recyclerview

您好我有一个带有回收站视图的布局和一个位于回收站视图下方的页脚。如果我的列表中的元素很少,则页脚可见,但如果我在回收站视图中对大量数据进行了充气,​​那么我的下方布局(页脚)就不可见了。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="bk.tillster.com.activities.CheckOutActivity"
    tools:showIn="@layout/activity_check_out">

    <ImageButton
        android:id="@+id/add_more_items"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="10dp"
        android:background="@drawable/box_with_borders"
        android:paddingBottom="@dimen/credit_card_vertical_margin"
        android:paddingEnd="@dimen/activity_horizontal_margin"
        android:paddingStart="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/credit_card_vertical_margin"
        android:src="@mipmap/add_items_button"/>

    <android.support.v7.widget.RecyclerView
        android:id="@+id/order_menu_list_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/add_more_items"
        android:paddingBottom="@dimen/credit_card_vertical_margin"
        android:scrollbars="vertical"/>

    <include
        android:id="@+id/checkout_content"
        layout="@layout/checkout_footer"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/order_menu_list_view"
        android:layout_alignParentStart="true"/>
</RelativeLayout>

页脚看起来像下面

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingBottom="@dimen/credit_card_vertical_margin"
                android:paddingTop="@dimen/credit_card_vertical_margin">

   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                  android:layout_width="match_parent"
                  android:layout_height="match_parent"
                  android:orientation="horizontal"
                  android:weightSum="1">

   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                      android:layout_width="0dp"
                      android:layout_height="wrap_content"
                      android:paddingStart="@dimen/activity_horizontal_margin"
                      android:paddingEnd="@dimen/activity_horizontal_margin"
                      android:layout_gravity="start"
                      android:layout_weight="0.5"
                      android:orientation="horizontal">

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:src="@mipmap/credit_card"/>

            <TextView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:gravity="center"
                android:text="@string/my_card"/>

        </LinearLayout>

        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                      android:layout_width="0dp"
                      android:layout_height="wrap_content"
                      android:layout_gravity="end"
                      android:layout_weight="0.3"
                      android:orientation="vertical"
                      android:paddingEnd="@dimen/activity_horizontal_margin"
                      android:paddingStart="@dimen/activity_horizontal_margin">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="start"
                android:text="@string/tax_applied"
                />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="start"
                android:text="@string/total"
                android:textStyle="bold"
                />
        </LinearLayout>

        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                      android:layout_width="0dp"
                      android:layout_height="wrap_content"
                      android:layout_gravity="end"
                      android:layout_weight="0.2"
                      android:orientation="vertical"
                      android:paddingEnd="@dimen/activity_horizontal_margin"
                      android:paddingStart="@dimen/activity_horizontal_margin">

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@android:color/transparent"
                android:gravity="end"
                android:hint="***"/>


            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@android:color/transparent"
                android:gravity="end"
                android:hint="***"
                android:textStyle="bold"/>
        </LinearLayout>
    </LinearLayout>

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:background="@color/red"
        android:text="@string/place_order"/>
</RelativeLayout>

我认为我可以将布局划分为片段并动态扩充它们,但我想在活动中进行处理。并且还想知道为什么回收器视图填充在页脚顶部的原因。任何想法都表示赞赏。感谢。

编辑:我试图获得类似于星巴克结帐页面的内容。附上截图。enter image description here

1 个答案:

答案 0 :(得分:0)

您希望您的页脚可以使用您的Recyclerview滚动吗?如果不是下面可能适合你:

<android.support.v7.widget.RecyclerView
    android:id="@+id/order_menu_list_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/add_more_items"
    android:layout_above="@+id/checkout_content"
    android:paddingBottom="@dimen/credit_card_vertical_margin"
    android:scrollbars="vertical"/>

<include
    android:id="@+id/checkout_content"
    layout="@layout/checkout_footer"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentStart="true"/>