android状态栏半透明、全透明、沉浸式
出处:https://www.jianshu.com/p/b4d5a307f793
导包: compile'org.zackratos:ultimatebar:1.0.3'
自定义颜色的状态栏和导航栏
onCreate()方法中调用:
UltimateBar ultimateBar =newUltimateBar(this);
ultimateBar.setColorBar(ContextCompat.getColor(this, R.color.DeepSkyBlue));
半透明的状态栏和导航栏
UltimateBar ultimateBar =newUltimateBar(this);
ultimateBar.setTransparentBar(Color.BLUE,50);
完全透明的状态栏和导航栏
UltimateBar ultimateBar =newUltimateBar(this);
ultimateBar.setImmersionBar();
隐藏状态栏和导航栏
这种情况比较常见了,一般玩游戏,看视频就是这种效果,这种效果的实现有点特殊,必须重写 Activity 的 onWindowFocusChanged 方法
@OverridepublicvoidonWindowFocusChanged(booleanhasFocus){
super.onWindowFocusChanged(hasFocus);
if(hasFocus) {
UltimateBar ultimateBar =newUltimateBar(this);
ultimateBar.setHintBar();
}}
针对 DrawerLayout 的实现
UltimateBar ultimateBar =newUltimateBar(this);
ultimateBar.setColorBarForDrawer(ContextCompat.getColor(this, R.color.DeepSkyBlue));
还必须要在布局文件中在 DawerLayout 的子 view 的主界面添加 android:fitsSystemWindows="true"