//状态栏 导航栏都沉浸 if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = getWindow(); window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(Color.TRANSPARENT); window.setNavigationBarColor(Color.TRANSPARENT); } //状态栏都沉浸,但是toolbar会向上移动 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = 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); } //修改状态栏颜色,完成沉浸式。 StatusBarCompat的类请查看 http://blog.csdn.net/michael1112/article/details/77739704 StatusBarCompat.compat(this,Color.parseColor("#008000"));
android 沉浸式状态栏的三种方法
最新推荐文章于 2024-09-27 21:46:09 发布
本文介绍了在Android中实现沉浸式状态栏的三种方法,包括使状态栏和导航栏都沉浸、仅状态栏沉浸以及通过StatusBarCompat库修改状态栏颜色实现沉浸式效果。详细代码示例展示了如何在LOLLIPOP及以上版本中设置透明状态栏和导航栏,以及如何使用StatusBarCompat进行兼容处理。
摘要由CSDN通过智能技术生成