2017-01-23 30 views
0

我試圖找到具有相同問題但未真正知道要搜索的內容的人。如果有人發現一個類似的問題,請告訴我!在按下時禁用工具欄滾動

我從設計庫如下實施的工具欄:

<android.support.design.widget.AppBarLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/AppTheme.AppBarOverlay"> 

    <include layout="@layout/toolbar" /> 

    <android.support.design.widget.TabLayout 
     android:id="@+id/mainTabLayout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="?attr/colorPrimary" 
     android:minHeight="?attr/actionBarSize" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
     app:tabGravity="fill" /> 

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

和工具欄佈局:

<android.support.v7.widget.Toolbar 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/mainToolbar" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:background="?attr/colorPrimary" 
    android:theme="@style/AppTheme.AppBarOverlay" 
    app:layout_scrollFlags="scroll|enterAlways" 
    app:popupTheme="@style/AppTheme.PopupOverlay" /> 

的AppBarLayout是直接孩子的CoordinatorLayout。在AppBar下面,我有一個RecyclerView,可以正確地讓AppBar在滾動時崩潰。

但是,我可以直接按下AppBar,然後向上移動手指,即使我的RecyclerView完全爲空,工具欄也會崩潰。我可以通過再次在工具欄上向下滾動來再次展開它。滾動RecyclerView所在的位置時不會發生此行爲。

我希望我的問題可以理解。我正在使用支持庫的版本25.1。 謝謝!

編輯:我試過下面的解決方案。沒有改變任何東西。在下面,我添加了一個視頻來顯示我的問題。所以這實際上是關於屏幕未滿時的情況(因此RecyclerView中的元素沒有離開屏幕):如果是這種情況,我不希望工具欄隱藏。換句話說:如果RecyclerView中的任何元素離開屏幕,只隱藏工具欄。

https://drive.google.com/file/d/0Bzrw-IuZ9USuMURVVkRfb3dkRTQ/view?usp=sharing

如果從我的身邊需要更多的代碼只是讓知道。

+0

我認爲你正在尋找一扔行爲。谷歌它,你會發現現成的代碼 –

+0

我不認爲這是我的問題。如果你看視頻(第一部分):RecyclerView不會離開屏幕,但工具欄在滾動時仍然隱藏。我不想那樣。 @SouravGanguly – Crosswind

回答

0

試試這個 整個項目是在此位置: https://github.com/slidenerd/Android-Design-Support-Library-Demo

下面的代碼對我的作品(這Git項目屬於slidenered感謝名單給他。):

<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="slidenerd.vivz.navigationviewdemo.FourthActivity"> 

<android.support.design.widget.CoordinatorLayout 
    android:id="@+id/root_coordinator" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/app_bar_layout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <android.support.design.widget.CollapsingToolbarLayout 
      android:id="@+id/collapsing_toolbar_layout" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      app:contentScrim="?attr/colorPrimary" 
      app:layout_scrollFlags="scroll|enterAlways"> 

      <ImageView 
       android:layout_width="match_parent" 
       android:layout_height="192dp" 
       android:scaleType="centerCrop" 
       android:src="@drawable/rsz_bg_cover" 
       app:layout_collapseMode="parallax" /> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/app_bar" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
       app:layout_collapseMode="pin" /> 

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

     <android.support.design.widget.CollapsingToolbarLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      app:layout_scrollFlags="scroll|enterAlways"> 

      <android.support.design.widget.TabLayout 
       android:id="@+id/tab_layout" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:background="@color/colorAccent" 
       app:layout_collapseMode="pin" 
       app:tabIndicatorColor="@color/colorPrimary" 
       app:tabSelectedTextColor="@android:color/white" 
       app:tabTextColor="#EEE" /> 
     </android.support.design.widget.CollapsingToolbarLayout> 

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

    <android.support.v4.view.ViewPager 
     android:id="@+id/view_pager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 


    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/fab" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom|right" 
     android:layout_margin="16dp" 
     android:src="@drawable/ic_add_black" 
     app:borderWidth="0dp" 
     app:fabSize="mini" /> 
</android.support.design.widget.CoordinatorLayout> 

<android.support.design.widget.NavigationView 
    android:id="@+id/navigation_drawer" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:layout_gravity="start" 
    app:menu="@menu/menu_drawer" /> 

+0

沒有解決我的問題。我編輯了我的問題也許這有助於 – Crosswind

0

如果你想修改toolbarappbar滾動

試試這個:

<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="200dp" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 

     <android.support.design.widget.CollapsingToolbarLayout 
      ... 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed" 
      app:titleEnabled="false"> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       android:layout_gravity="top" 
       android:background="?attr/colorPrimary" 
       app:layout_collapseMode="pin" 
       app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
       app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" /> 
     </android.support.design.widget.CollapsingToolbarLayout> 
    </android.support.design.widget.AppBarLayout> 

    <android.support.v7.widget.RecyclerView 
     android:id="@+id/recycler_view" 
     android:scrollbars="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"/> 

把你toolbarCollapsingToolbarLayoutapp:titleEnabled="false"

通過將其設置爲false,你會得到期望的行爲。標題保持固定在屏幕的頂部。

你可以做到這一點programetically也:

CollapsingToolbarLayout.setTitleEnabled(false); 
+0

@Crosswind是否有效? – rafsanahmad007

+0

沒有工作。我編輯了我的問題並添加了視頻。也許我被誤解了?謝謝你的幫助! – Crosswind