2017-10-27 12 views
1

세 개의 작업 상태 표시 줄이 있습니다. 그러나 CollapsingToolbar이 접히면 상태 표시 줄이 투명하게 유지됩니다.
접었을 때 상태 표시 줄의 색을 PrimaryDark으로 설정합니다.접힌 상태의 투명 상태 표시 줄

상태 표시 줄이 축소되어 투명 용지가 제거되면 어떻게 감지합니까?

인쇄 - 확장 :

enter image description here


인쇄 - 축소 :

enter image description here


XML 코드 :

<android.support.design.widget.AppBarLayout 
     android:id="@+id/app_bar" 
     android:layout_width="match_parent" 
     android:layout_height="@dimen/app_bar_height" 
     android:fitsSystemWindows="true" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
     > 

     <android.support.design.widget.CollapsingToolbarLayout 
      android:id="@+id/collapsing" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      app:contentScrim="#f15b6e" 
      app:expandedTitleGravity="bottom" 
      android:background="@android:color/white" 
      app:expandedTitleMarginBottom="170dp" 
      app:expandedTitleMarginStart="10dp" 
      app:layout_scrollFlags="scroll|enterAlways|enterAlwaysCollapsed"> 




      <FrameLayout 
       android:layout_width="match_parent" 
       android:layout_height="225dp" 
       android:fitsSystemWindows="true"> 

       <ImageView 
        android:id="@+id/main.backdrop" 
        android:layout_width="match_parent" 
        android:layout_height="@dimen/nav_header_height" 
        android:src="@drawable/hair" 
        app:layout_collapseMode="parallax" 
        android:adjustViewBounds="true" 
        android:fitsSystemWindows="true" 
        android:cropToPadding="false" 
        android:scaleType="fitXY" 
        /> 

       <FrameLayout 
        android:layout_width="match_parent" 
        android:layout_height="225dp" 
        android:background="@drawable/gradient_bg"> 

</FrameLayout> 

답변

0

는이

AppBarLayout appBarLayout = (AppBarLayout) findViewById(R.id.app_bar_layout_edit_profile); 
     appBarLayout.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() { 
      boolean isShow = false; 
      int scrollRange = -1; 

      @Override 
      public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) { 
       if (scrollRange == -1) { 
        scrollRange = appBarLayout.getTotalScrollRange(); 
       } 
       if (scrollRange + verticalOffset == 0) {  
         Window window = activity.getWindow(); 
         window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); 

         window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); 
         window.setStatusBarColor(activity.getResources().getColor(R.color.primary_color)); 


        isShow = true; 
       } else if (isShow) { 
        collapsingToolbarLayout.setTitle(" "); 
        isShow = false; 
        Window w =PerfilEmpresaActivity.this.getWindow(); 
        w.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATU‌​S, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); 
       } 
      } 
     }); 
+0

그것은 작동하려고합니다. 그러나 확장으로 돌아 가면 색이 투명하게 돌아 가지 않습니다. @NileshRathod – TiagoIB

+0

@TiagoIB 업데이트 확인 ans –

+0

현재 툴바가 해킹되고 있지만 완전히 표시되지 않습니다. @NileshRathod – TiagoIB