底部视图使用tablayout和Caordinatelayout在viewpager中使用recyclerview滚动

时间:2015-09-17 14:03:19

标签: android android-viewpager android-recyclerview android-tablayout

我在viewpager和tablayout中使用带有recyclerview的coardinate布局。我有一个横幅视图,我想在底部的recyclerview上显示。这个底部视图仅在我向上滚动Recyclerview列表并且在我向下滚动时隐藏时才可见。我希望此视图始终在recyclerview上可见。任何帮助将不胜感激。在此先感谢。ente[![enter image description here此处的图片说明] 1] 1

这是我的xml代码

  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/deal_display_bg"
tools:context="com.safar.spicedeals_activities.DealsActivity$PlaceholderFragment">

<View
    android:id="@+id/topview_deal"
    android:layout_width="match_parent"
    android:layout_height="3dp"
    android:layout_alignParentTop="true"
    android:background="@color/spice_laddooblue"
    android:visibility="gone" />

<View
    android:layout_width="match_parent"
    android:layout_height="5dp" />

<TextView
    android:id="@+id/no_deals_available"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:text="@string/no_deals_available"
    android:textColor="@color/spice_laddooblue"
    android:textSize="18sp"
    android:textStyle="bold"
    android:visibility="gone" />

<FrameLayout
    android:id="@+id/frameLayoutDeals"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@+id/bannerView"
    android:layout_below="@+id/topview_deal"
    android:padding="2dp">

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

        <ProgressBar
            android:id="@+id/progressBarDeals"
            style="?android:attr/android:progressBarStyle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:visibility="visible" />
       </LinearLayout>

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recyclerview"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
    <!-- </android.support.v4.widget.SwipeRefreshLayout> -->
      </FrameLayout>

    <RelativeLayout
    android:id="@+id/relativeLayout_PriceTotal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:background="@drawable/background_with_border_square"
    android:padding="10dp"
    android:visibility="gone">

    <TextView
        android:id="@+id/textView_totalPrice"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:text="@string/total_price"
        android:textColor="@color/spice_laddooblue"
        android:textSize="15sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/textView_totalPriceResult"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_alignTop="@+id/textView_totalPrice"
        android:layout_marginLeft="3dp"
        android:layout_marginTop="2dp"
        android:layout_toRightOf="@+id/textView_totalPrice"
        android:textColor="@color/spice_laddooblue"
        android:textSize="15sp"
        android:textStyle="bold" />

    <Button
        android:id="@+id/button_processDeal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView_totalPrice"
        android:layout_marginTop="10dp"
        android:background="@color/spice_laddooblue"
        android:text="@string/proceed_tag"
        android:textColor="@color/White"
        android:textStyle="italic" />
    </RelativeLayout>

<RelativeLayout
    android:id="@+id/bannerView"
    android:layout_width="match_parent"
    android:layout_height="58dp"
    android:layout_alignParentBottom="true"
    android:background="@drawable/curved_white_with_blue_border"
    android:visibility="gone">

    <TextView
        android:id="@+id/bannerText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerInParent="true"
        android:layout_centerVertical="true"
        android:gravity="center"
        android:padding="3dp"
        android:text="Banner"
        android:visibility="gone" />

    <ImageView
        android:id="@+id/bannerImage"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:gravity="center"
        android:padding="3dp"
        android:scaleType="fitXY"
        android:visibility="gone" />

    <ImageView
        android:id="@+id/bannerClose"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_centerVertical="true"
        android:src="@drawable/cross_icon" />
    </RelativeLayout>

  </RelativeLayout>

1 个答案:

答案 0 :(得分:-1)

这对我有用!为android.support.v7.widget.Toolbar

添加此属性
app:layout_scrollFlags="scroll"

工具栏的app:layout_scrollFlags属性向视图显示如何响应。它具有以下可能的值。

  1. 滚动: 通常为所有需要的视图设置此标志 滚动屏幕。不使用此标志的视图保持不变 允许其他可滚动视图在其后面滑动。
  2. enterAlways : 此标志确保任何向下滚动都将导致视图 变得可见,启用快速返回模式。
  3. enterAlwaysCollapsed : 'enterAlways'的另一个标志 将返回的视图修改为最初只回滚到它的视图 折叠高度。
  4. exitUntilCollapsed : 此标志导致视图 滚动直到它崩溃(达到它的minHeight)之前 退出
  5. 快照:滚动结束时,如果视图仅部分显示 然后它会被捕捉并滚动到它最近的边缘。 因此,这避免了视图的动画中期状态
  6. 可以找到更多详细信息here