我与CollapsingToolbarLayout一起工作,目的是根据滚动来隐藏/显示工具栏。一切正常,但是我要实现的另一个功能是,当标题显示在屏幕上时,状态栏应该是透明的。
当我在DrawerLayout中将fitSystemWindows设置为true时,这也起作用,但是当标题被隐藏时,内容将进入状态栏。因此,当标头显示/隐藏时,我需要以编程方式更改fitSystemWindows。
这是我的代码。
@Override
public void onOffsetChanged(AppBarLayout appBarLayout, int i) {
appBarIsExpanded = (i == 0);
if(appBarIsExpanded==false){
drawerLayout.setFitsSystemWindows(true);
collapsingToolbarLayout.setFitsSystemWindows(true);
appBarLayout.setFitsSystemWindows(true);
changeStatusBarColor(getResources().getColor(R.color.colorPrimaryDark));
}else{
drawerLayout.setFitsSystemWindows(false);
collapsingToolbarLayout.setFitsSystemWindows(false);
appBarLayout.setFitsSystemWindows(false);
changeStatusBarColor(Color.TRANSPARENT);
}
}
```