EDIT 2;コードのこの部分はOKでした。これについて私の答えをチェックすると、同様の問題が発生する可能性があり、これがあなたの問題を解決することを願っています。ネストされたフラグメントでRecyclerViewをスクロールするときにツールバーを非表示にする
私は、同様の問題で多くの投稿をチェックしています。彼らは私を近づけましたが、私はそれを正しくすることができません。私はMainActivity
を持っていて、それはFrameLayout
(id:fragment_container
)にロードされたFragment
をホストしています。 スクロールするときにToolbar
を非表示にしたいが、これはスクロールするときにのみ発生する。NavigationDrawer
RecyclerView
をスクロールすると、Toolbar
は非表示になりません。
Fragment
は、ViewPager
を含み、各ViewPagerFragment
は、RecyclerView
を有する。
私は多くの選択肢を試しましたが、これは私が意図しているものに最も近いものです。
私が何をしたい:
- 非表示ツールバー今何が起こっている
リサイクルビューをスクロール:
私の現在のmain_activityレイアウト:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.Toolbar
android:id="@+id/my_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:elevation="16dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:layout_scrollFlags="scroll|enterAlways">
<Button
android:id="@+id/login_button"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="end"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:background="@drawable/ic_account_circle_white_24dp" />
<Button
android:id="@+id/favourites_button"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="end"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:background="@drawable/favourite_button" />
<Button
android:id="@+id/bookmarked_button"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="end"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:background="@drawable/bookmarked_button" />
<Button
android:id="@+id/history_button"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="end"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:background="@drawable/ic_history_white_24dp" />
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.DrawerLayout
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<android.support.design.widget.NavigationView
android:id="@+id/navigationView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start"
app:menu="@menu/menu" />
</android.support.v4.widget.DrawerLayout>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab_pressed"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:src="@drawable/favourite_button"
app:fabSize="mini"
app:layout_anchor="@id/fragment_container"
app:layout_anchorGravity="bottom|right|end" />
EDIT。何らかの理由でCoordinatorLayoutが私が今投稿したコードに表示されていません。すべてがCoordinatorLayoutに囲まれています!
<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.design.widget.CoordinatorLayout>