1

안녕하세요 저는 조각에있는 recyclerview를 스크롤 할 때 툴바를 숨기려고합니다. 제 레이아웃에도 drawerlayout과 tablayout이 있습니다. 툴바를 숨기고 탭 표시 줄을 위로 이동하려고합니다. 툴바가 숨기지 않습니다. DrawerLayout에서 recyclerview를 스크롤하십시오.

난 아직도 내가 그것을 완수 할 수 없습니다 내가 스택 오버 플로우에서 발견 한 답변의 대부분을 시도

<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> 

<?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 내 activity_main.xml입니다. 내가 뭔가 잘못하고 있는거야? 누군가가이 일을 1 주일간 끝내려는 노력으로 나를 도울 것입니다.

답변

0

무엇이 잘못되었는지 자세히 설명해 주시겠습니까? 여기서 가장 큰 문제는 CollapsingToolbarLayout의 layout_scrollFlagsexitUntilCollapsed 플래그가 설정되어 있다는 것입니다. 툴바에서 화면을 스크롤 할 수 없으면 이것이 원인입니다. 귀하의 AppBarLayout는 다음과 같이 설정해야합니다 : 당신이 필요로하는 모든 오프 스크린 도구 모음 스크롤을해야하는 경우

<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.

또한, 당신이 CollapsingToolbarLayout 필요하지 않습니다. 당신은과 같이, 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>