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"

你可能感兴趣的:(android状态栏半透明、全透明、沉浸式)