1

こんにちは私は、断片化しているrecyclerviewをスクロールするときにツールバーを隠そうとしています。私のレイアウトにはdrawerlayoutとtablayoutもあります。私はちょうどツールバーを非表示にして、タブバーを上に移動しようとしている。ツールバーが隠されていないDrawerLayoutのrecyclerview

この私のactivity_main.xmlある

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.DrawerLayout android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/drawer" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fitsSystemWindows="true" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:background="#e9e7e7" 
    tools:context=".MainActivity"> 



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

     <android.support.v4.view.ViewPager 
      android:layout_height="match_parent" 
      android:layout_width="match_parent" 
      android:id="@+id/viewPager" 
      > 

     </android.support.v4.view.ViewPager> 



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

      <android.support.design.widget.CollapsingToolbarLayout 
       android:id="@+id/ctb_dashboard" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:fitsSystemWindows="true" 
       app:contentScrim="@color/white" 
       app:layout_scrollFlags="scroll|exitUntilCollapsed"> 


       <android.support.v7.widget.Toolbar 
        xmlns:android="http://schemas.android.com/apk/res/android" 
        xmlns:app="http://schemas.android.com/apk/res-auto" 
        android:layout_width="match_parent" 
        android:background="@color/colorPrimary" 
        android:minHeight="?attr/actionBarSize" 
        android:id="@+id/toolBar" 
        app:layout_scrollFlags="scroll|enterAlways" 
        android:layout_height="wrap_content" 
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
        app:theme="@style/ThemeOverlay.AppCompat.Dark" 
        app:layout_collapseMode="pin"> 

       </android.support.v7.widget.Toolbar> 

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

      <android.support.design.widget.TabLayout 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       android:id="@+id/tabLayout" 
       app:tabMode="fixed" 
       app:tabSelectedTextColor="@color/white" 
       app:tabTextColor="@color/colorTab" 
       app:tabTextAppearance="@style/MyTabStyle" 
       app:tabIndicatorColor="@android:color/white" 
       app:tabIndicatorHeight="3dp" 
       app:tabGravity="fill"> 
      </android.support.design.widget.TabLayout> 


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


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



    <android.support.design.widget.NavigationView 
     app:headerLayout="@layout/header" 
     app:itemTextAppearance="@style/NavDrawerTextStyle" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:id="@+id/nav_view" 
     android:background="#d2d2d2" 
     app:itemTextColor="#6c6c6c" 
     app:itemIconTint="#6c6c6c" 
     app:menu="@menu/drawermenu" 
     android:layout_gravity="start"> 
    </android.support.design.widget.NavigationView> 




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

fragment_home.xml

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    tools:context=".HomeFragment"> 

    <android.support.v7.widget.RecyclerView 
     android:layout_marginTop="100dp" 
     android:id="@+id/blog_listt2" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

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

    <ProgressBar 
     android:id="@+id/progressBar2" 
     style="?android:attr/progressBarStyle" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_vertical|center_horizontal" 
     android:indeterminateTint="@color/colorPrimaryDark" 
     android:visibility="visible"/> 

</FrameLayout> 

私はまだ私はそれを成し遂げることができなかった私は、スタックオーバーフローで見つけた答えのほとんどを試してみました。私は何か間違っているのですか?誰かが1週間この感覚を得ることを試みてこれで私を助けてください。

答えて

0

何がうまくいかないのか詳しく説明できますか?私がここで見る最大の問題は、CollapsingToolbarLayoutのlayout_scrollFlagsexitUntilCollapsedフラグが設定されていることです。ツールバーを画面からスクロールさせることができない場合、それが原因です。あなたが必要とするすべてはあなたがCollapsingToolbarLayoutを必要としない、オフスクリーンツールバーのスクロールを持っているのであれば、また

<android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="?attr/colorPrimary"> 

    <android.support.design.widget.CollapsingToolbarLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:contentScrim="?attr/colorPrimary" 
     app:titleEnabled="false" 
     app:layout_scrollFlags="scroll"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      app:layout_collapseMode="pin" /> 
    </android.support.design.widget.CollapsingToolbarLayout> 

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

Can't embed images yet. Click here for gif.

:あなたのAppBarLayoutは次のように設定する必要があります。あなたはそうのように、app:layout_scrollFlags="scroll"でツールバーを持つことができます。

<android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="?attr/colorPrimary"> 
    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     app:layout_scrollFlags="scroll" 
     app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 

    <android.support.design.widget.TabLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"/> 
</android.support.design.widget.AppBarLayout> 

これは私がAppBarLayoutとCollapsingToolbarLayoutに異なるスクロールフラグのすべてを説明するために見つけた最高のリソースです:http://saulmm.github.io/mastering-coordinator

+0

ありがとうございます。私はCollapsingToolbarLayoutを削除し、現在のactivity_main.xmlは以下のようになりました –

+0

どのようにFABを追加してスクロールに隠すことができますか?coordinatorLayoutの下にfabを追加しましたが、recyclerviewをスクロールすると非表示になりません。 –

0

acitivity_main.xml
<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.DrawerLayout android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/drawer" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fitsSystemWindows="true" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:background="#e9e7e7" 
    tools:context=".MainActivity"> 

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

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

     </android.support.v4.view.ViewPager> 


     <android.support.design.widget.AppBarLayout 
      android:layout_height="wrap_content" 
      android:layout_width="match_parent" 
      android:id="@+id/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:layout_width="match_parent" 
        android:background="@color/colorPrimary" 
        android:minHeight="?attr/actionBarSize" 
        android:id="@+id/toolBar" 
        app:layout_scrollFlags="scroll|enterAlways" 
        android:layout_height="wrap_content" 
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
        app:theme="@style/ThemeOverlay.AppCompat.Dark" 
        app:layout_collapseMode="pin"> 

       </android.support.v7.widget.Toolbar> 

      <android.support.design.widget.TabLayout 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       android:id="@+id/tabLayout" 
       app:tabSelectedTextColor="@color/white" 
       app:tabTextColor="@color/colorTab" 
       app:tabTextAppearance="@style/MyTabStyle" 
       app:tabIndicatorColor="@android:color/white" 
       app:tabIndicatorHeight="3dp" 
       app:tabMode="fixed" 
       app:tabGravity="fill"> 
      </android.support.design.widget.TabLayout> 


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

    <android.support.design.widget.NavigationView 
     app:headerLayout="@layout/header" 
     app:itemTextAppearance="@style/NavDrawerTextStyle" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:id="@+id/nav_view" 
     android:background="#d2d2d2" 
     app:itemTextColor="#6c6c6c" 
     app:itemIconTint="#6c6c6c" 
     app:menu="@menu/drawermenu" 
     android:layout_gravity="start"> 
    </android.support.design.widget.NavigationView> 


</android.support.v4.widget.DrawerLayout> 
関連する問題