android透明状态栏

来源:互联网 发布:大街网 知乎 编辑:程序博客网 时间:2024/04/30 13:44

现在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"

不然布局,会顶上去,这个 可以根据具体情况添加,(例如引导页全屏或者全屏侧滑)




0 0
原创粉丝点击