Android笔记之沉浸式状态栏
2016-05-26 10:53
423 查看
今天对项目顶部的状态栏大黑条实在是忍无可忍,决定使用android4.4以上才支持的沉浸式状态栏。注意,4.4以上,也就是api19以上才支持哦!
效果图:
实现:
然后在Activity的onCreate中调用:
再在使用布局的跟布局中添加:
例如:
ok,就是这么简单,设置完成后你就会发现状态栏的背景跟Activity最外层layout的背景一致了,不管是图片还是颜色值。
效果图:
实现:
/** * 设置透明状态栏 */ private void setTransparent() { getWindow().requestFeature(Window.FEATURE_NO_TITLE); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { //5.0以上 Window window = getWindow(); window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(Color.TRANSPARENT); } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { // 4.4以上5.0以下 //透明状态栏 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); } }
然后在Activity的onCreate中调用:
super.onCreate(savedInstanceState); setTransparent(); ... // 其他代码
再在使用布局的跟布局中添加:
android:clipToPadding="true" android:fitsSystemWindows="true"
例如:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/ab_root_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:clipToPadding="true" android:fitsSystemWindows="true" android:orientation="vertical"> ... // 其他布局 </LinearLayout>
ok,就是这么简单,设置完成后你就会发现状态栏的背景跟Activity最外层layout的背景一致了,不管是图片还是颜色值。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories