我提到This Question但沒有答案適合我。所以基本上我有一個BottomNavigationView
隱藏向下滾動並顯示在向上滾動。當我通過觸摸滾動Recycler View時它工作正常,但當我以編程方式滾動RecyclerView
時不起作用。看起來像編程式滾動時不會觸發CoordinatorLayout.Behaviour
。在某些情況下,我必須打開包含RecyclerView
的片段,並滾動到某個位置,並且BottomNavigationView
隱藏它必須在用戶向上滾動時返回這意味着我不想隱藏BottomNavigationView
的可見性只是隱藏在滾動上滾動編程或通過觸摸。滾動回收站查看以編程方式不更新CoordinatorLayout.Behaviour同時通過觸摸更新滾動它CoordinatorLayout.Behaviour
activity_main.xml中
<?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"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.kliff.digitaldwarka.activity.MainActivity">
<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:id="@+id/myAppBar"
app:elevation="0dp"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:contentInsetStart="0dp"
app:popupTheme="@style/AppTheme.PopupOverlay"/>
</android.support.design.widget.AppBarLayout>
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
<android.support.design.widget.BottomNavigationView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:itemBackground="@android:color/white"
android:id="@+id/bottom_nav"
android:layout_gravity="bottom"
app:menu="@menu/bottom_nav_menu"/>
</android.support.design.widget.CoordinatorLayout>
<com.appeaser.sublimenavigationviewlibrary.SublimeNavigationView
android:id="@+id/nav_view"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:layout_gravity="start"
app:snvHeaderLayout="@layout/nav_header"
app:snvMenu="@menu/nav_menu"
style="@style/NavigationViewStyle"
app:snvItemTextColor="#555555"
app:snvSubheaderItemTextColor="#555555"
app:snvItemIconTint="#555555"
app:snvBadgeTextColor="#555555"
app:snvHintTextColor="#757575"
app:snvHintTypefaceStyle="normal"
app:snvBadgeTypefaceStyle="normal"
app:snvSubheaderItemTypefaceStyle="normal"
app:snvItemTypefaceStyle="normal" />
</android.support.v4.widget.DrawerLayout>
fragment_category.xml
<android.support.v7.widget.CardView
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="wrap_content"
app:cardElevation="1dp"
app:cardUseCompatPadding="true">
<android.support.v7.widget.RecyclerView
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical" />
</android.support.v7.widget.CardView>
代碼滾動
mRecyclerView.getLayoutManager().scrollToPosition(34); //specific postion
通過滾動這種方式我如何實現行爲。任何幫助將感謝appricited。
我不想以編程方式隱藏底部欄。我應該按照相同的滾動反應,通過觸摸滾動或程序 –
@ zsmb13謝謝:) –