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

android透明状态栏

2016-04-15 11:43 471 查看
现在app端的UI设计的界面,一般都是以ios为模板的,而ios在状态栏,本身就是一体化的,android 想要做出这样的效果,要进一步设置。再加上android 版本的不同,要做到统一。

4.4以下的系统

//设置状态栏颜色
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
//透明状态栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
//透明导航栏 根据需要设置
//getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
}


再activity 的布局 最外层 加上

android:fitsSystemWindows="true"
android:clipToPadding="true"


这样状态栏将透明,布局中的背景会透过状态栏

5.0以上的系统

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);
}

同样需要

android:fitsSystemWindows="true"
android:clipToPadding="true"


不然布局,会顶上去,这个 可以根据具体情况添加,(例如引导页全屏或者全屏侧滑)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: