欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

沉浸式布局加toolbar,还有DrawerLayout

程序员文章站 2022-04-21 17:58:00
...

感谢万能的百度,还有各位大神,找了很多。比较简单的原生的诺基亚的手机上可以,但是华为的一直不行,其他的型号没试过,找了半天,终于找到可以用的,给自己做一个记录。很简陋,要看详细解释可以去看大神的CSDN博客,我自己只记录实现

沉浸式布局第一步在setcontentview之前

Window window = context.getWindow();
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
        | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(Color.TRANSPARENT);

第二步toolbar设置

toolbar.getLayoutParams().height = AppHelpMethod.getAppBarHeight(this);//重新计算toolbar的高度
toolbar.setPadding(toolbar.getPaddingLeft(),
        AppHelpMethod.getStatusBarHeight(this),
        toolbar.getPaddingRight(),
        toolbar.getPaddingBottom());

如果有drawer侧边栏

 drawer = (DrawerLayout) findViewById(R.id.drawer_layout);

 ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
         this, drawer,toolbar, R.string.open,R.string.close);
 drawer.addDrawerListener(toggle);

 //将侧边栏顶部延伸至status bar
 drawer.setFitsSystemWindows(true);
//将主页面顶部延伸至status bar;
 drawer.setClipToPadding(false);
相关标签: Android 沉浸式