在NestedScrollView

时间:2017-03-02 15:19:40

标签: android android-recyclerview android-nestedscrollview

我正在使用NestedScrollView,它用于在滚动时隐藏工具栏但是当我放置时  在其中的recyclerView,工具栏没有隐藏在滚动上,我在stackoverflow中使用了evry可能的答案,但是没有使用,我特别使用了recyclerView.setNestedScrollingEnabled(false);

这是我的代码:

<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"



    android:layout_width="match_parent"
    android:layout_height="match_parent"

    app:layout_behavior="@string/appbar_scrolling_view_behavior">

<RelativeLayout

    android:layout_width="match_parent"
    android:background="#fff"
    android:layout_height="wrap_content"
    >



    <android.support.v7.widget.RecyclerView



        android:id="@+id/recyclerView"
        android:background="#fafafa"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_centerInParent="true" />

    <ProgressBar
        android:id="@+id/progressBar1"

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true" />

</RelativeLayout>

</android.support.v4.widget.NestedScrollView>

---编辑-----------

<?xml version="1.0" encoding="utf-8"?>


<android.support.v4.widget.DrawerLayout

    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/DrawerLayout"

    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:elevation="7dp">
    <include
        android:id="@+id/includeAppBar"
        layout="@layout/app_bar_navigation_drawer"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />


    <android.support.v7.widget.RecyclerView
        android:id="@+id/RecyclerView"
        android:layout_width="320dp"
        android:layout_height="match_parent"
        android:layout_gravity="left"

        android:background="#ffffff"
        android:scrollbars="vertical">

    </android.support.v7.widget.RecyclerView>
</android.support.v4.widget.DrawerLayout>

----编辑2 ----

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout 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.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"

        android:theme="@style/ThemeOverlay.AppCompat.Dark">
        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            app:theme="@style/ToolBarStyle"
            app:layout_scrollFlags="scroll|enterAlways"
            android:layout_height="?attr/actionBarSize"
            />


        <!-- our tablayout to display tabs  -->
        <android.support.design.widget.TabLayout
            android:id="@+id/tabLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#fff"
            app:tabTextColor="#a6a2a2"
            app:tabSelectedTextColor="#0099ff"
            app:tabIndicatorColor="#0099ff"


            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>
    </android.support.design.widget.AppBarLayout>
    <!-- View pager to swipe views -->
    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        android:layout_width="match_parent"
        android:layout_height="fill_parent"/>






</android.support.design.widget.CoordinatorLayout>

1 个答案:

答案 0 :(得分:0)

您可以尝试此操作,将此属性添加到您的AppBarLayout:

app:layout_scrollFlags="scroll|exitUntilCollapsed"

编辑:

更改您的代码如下:

<?xml version="1.0" encoding="utf-8"?>


<android.support.v4.widget.DrawerLayout

    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/DrawerLayout"

    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:elevation="7dp">
    <include
        android:id="@+id/includeAppBar"
        layout="@layout/app_bar_navigation_drawer"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />


    <android.support.v7.widget.RecyclerView
        android:id="@+id/RecyclerView"
        android:layout_width="320dp"
        android:layout_height="match_parent"
        android:layout_gravity="left"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" // new attibute
        android:background="#ffffff"
        android:scrollbars="vertical">

    </android.support.v7.widget.RecyclerView>
</android.support.v4.widget.DrawerLayout>

希望这有帮助。

抱歉我的英文。

相关问题