カスタムのRecyclerViewと、下にスクロールすると非表示になり、上にスクロールすると表示されるツールバーがあります。私はRecyclerViewの位置について問題があり、それはツールバーの下にあります、私は動作を使用しますが、それは機能していないようです。
私のxml:
<?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"
Android:id="@+id/coordinatorLayout"
Android:layout_width="match_parent"
Android:layout_height="match_parent">
<Android.support.v7.widget.RecyclerView
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:id="@+id/recyclerView"
Android:layout_width="match_parent"
Android:layout_height="match_parent"/>
<Android.support.design.widget.AppBarLayout
Android:id="@+id/appBarLayout"
Android:layout_width="match_parent"
Android:layout_height="wrap_content">
<Android.support.v7.widget.Toolbar
Android:id="@+id/toolbar"
Android:layout_width="match_parent"
Android:layout_height="?attr/actionBarSize"
Android:background="?attr/colorPrimary"
app:layout_scrollFlags="scroll|enterAlways" />
</Android.support.design.widget.AppBarLayout>
<Android.support.v4.view.ViewPager
Android:id="@+id/viewPager"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
</Android.support.design.widget.CoordinatorLayout>
これを試して:
<?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"
Android:id="@+id/coordinatorLayout"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:orientation="vertical">
<Android.support.v7.widget.RecyclerView
Android:id="@+id/recyclerView"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
<Android.support.design.widget.AppBarLayout
Android:id="@+id/appBarLayout"
Android:layout_width="match_parent"
Android:layout_height="wrap_content">
<Android.support.v7.widget.Toolbar
Android:id="@+id/toolbar"
Android:layout_width="match_parent"
Android:layout_height="?attr/actionBarSize"
Android:background="?attr/colorPrimary"
app:layout_scrollFlags="scroll|enterAlways" />
</Android.support.design.widget.AppBarLayout>
</Android.support.design.widget.CoordinatorLayout>
ViewPagerを削除し、RecyclerViewにスクロール動作を追加しました
スクロール動作を追加しても問題が解決しない場合
app:layout_behavior="@string/appbar_scrolling_view_behavior"
次に試してみてください
私はツールバー/アクションバー(アプリバー)の高さと同等であるrecyclerviewにパディングを与えなければなりませんでした。
Android:paddingTop="?attr/actionBarSize"
上記の行をrecyclerview xmlファイルに追加します
別のレイアウトのRecyclerViewを含めると、同じ問題が発生しました。 recyclerviewに次の行を追加しましたが、問題は解決しました。
app:layout_behavior="@string/appbar_scrolling_view_behavior"
上記の行がないと、この問題が発生します。
この属性をご使用のRecyclerViewに追加する必要があります。
app:layout_behavior="@string/appbar_scrolling_view_behavior"
すなわち:
<Android.support.v7.widget.RecyclerView
Android:id="@+id/my_recycler_view"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />