AppBarLayout+recycleview的使用和注意事项

AppBarLayout+recycleview的使用和注意事项

  • MainActivity 中的布局main_activity
    • layout_title
    • java中使用
    • ViewPager中fragment中布局

MainActivity 中的布局main_activity



    

        
               
            //去掉这个属性 就不会叠着上去 而是顶上去的
            
            
         

        

    
    
        
          

        


        
    



 
 

layout_title



    




    

        

            
        

        
        
        

    

    



java中使用

private void setToolbar1Alpha(int alpha) {
     rl_back1.setAlpha(alpha);
}

private void setToolbar2Alpha(int alpha) {
    rl.setAlpha(alpha);
}
 displaygood_appbar.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() {
        @Override
        public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) {
            BarSetColorUtils.setBarTransparentColor(DisplayGoodActivity.this);
            if (verticalOffset == 0) {
                isFold = false;
                //张开
                setToolbar1Alpha(255);
                dispaly_good_rl_back1.setVisibility(View.VISIBLE);
                dispaly_good_rl.setVisibility(View.GONE);
            } else if (Math.abs(verticalOffset) + DensityUtil.dip2px(DisplayGoodActivity.this, 76) >= appBarLayout.getTotalScrollRange()) {
                isFold = true;
                BarSetColorUtils.setBarColor(DisplayGoodActivity.this, R.color.cffffff, true);
                //收缩
                setToolbar2Alpha(255);
                dispaly_good_rl_back1.setVisibility(View.GONE);
                dispaly_good_rl.setVisibility(View.VISIBLE);
            } else {
                BarSetColorUtils.setBarTransparentColor(DisplayGoodActivity.this);
                int alpha = 255 - Math.abs(verticalOffset) - 150;
                if (alpha <= 0) {
                    //收缩toolbar
                    setToolbar2Alpha(alpha);
                    dispaly_good_rl_back1.setVisibility(View.GONE);
                    dispaly_good_rl.setVisibility(View.VISIBLE);
                } else {
                    //张开toolbar
                    setToolbar1Alpha(alpha);
                    dispaly_good_rl_back1.setVisibility(View.VISIBLE);
                    dispaly_good_rl.setVisibility(View.GONE);
                }
            }
        }
    });

ViewPager中fragment中布局

  



    
    
    
    
    
    
    
    

    
    


1.在布局要特别注意带有recycleview 的要设置 android:nestedScrollingEnabled="false"不可以滑动且也嵌套 android.support.v4.widget.NestedScrollView否则会出现滑动冲突
2. android:minHeight=“67.5dp” 可以用来设置折叠区域高度
3. app:layout_scrollFlags="scroll|exitUntilCollapsed"可以设置滑动模式

你可能感兴趣的:(android,appbarlaoyout)