您的位置:首页 > 移动开发 > Android开发

Android沉浸式状态栏、导航栏

2015-10-23 18:52 471 查看
Android沉浸式状态栏,用的是开源库SystemBarTint。

demo下载地址:http://download.csdn.net/download/shenyuanqing/9226623

效果图:

依次(Android5.0及以上)->(Android4.4及以上)->(Android4.4以下)


 

 


步骤:

1.添加类SystemBarTintManager到项目中

2.添加代码

//Android4.4及以上版本才能设置此效果
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
//Android5.0版本
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS
| WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
//设置状态栏颜色
getWindow().setStatusBarColor(getResources().getColor(R.color.green));
//设置导航栏颜色
getWindow().setNavigationBarColor(getResources().getColor(R.color.green));
}else {
//透明状态栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
//透明导航栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
//创建状态栏的管理实例
SystemBarTintManager tintManager = new SystemBarTintManager(this);
//激活状态栏设置
tintManager.setStatusBarTintEnabled(true);
//设置状态栏颜色
tintManager.setTintResource(R.color.green);
//激活导航栏设置
tintManager.setNavigationBarTintEnabled(true);
//设置导航栏颜色
tintManager.setNavigationBarTintResource(R.color.green);
}
}


3.XML最外层布局加下面属性,不然会有什么情况自己对比下就知道了

android:fitsSystemWindows="true"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: