Android沉浸式状态栏简单实现
2015-10-11 15:22
573 查看
最简单的实现类似IOS的沉浸式状态栏效果的方法就是使用开源库SystemBarTint
第一步:当然是添加gradle依赖或者把这个库拷到自己项目中,其实就是一个类
第二步:在项目的每个Activity界面的布局文件的根目录中添加以下两行代码:
第三步:写一个工具类,如下:
第四步:在Activity中调用方法,如果设置的是图片,其实一般很少设置图片,不过像QQ那样侧滑出来的背景全屏效果还是不错的,用这里的方法貌似实现不了;如果设置的是颜色,建议和每个界面顶部标题栏的背景色一致:
备注:这种情况只适合那种统一主题以及背景色的应用,要是像用FragmentTabhost实现的这种tab布局菜单的话,还是放弃使用吧,因为我简单尝试了一下,发现根本无法实现不同tab状态栏不同的功能。
第一步:当然是添加gradle依赖或者把这个库拷到自己项目中,其实就是一个类
compile 'com.readystatesoftware.systembartint:systembartint:1.0.3'
第二步:在项目的每个Activity界面的布局文件的根目录中添加以下两行代码:
android:clipToPadding="true" android:fitsSystemWindows="true"
第三步:写一个工具类,如下:
import android.app.Activity; import android.os.Build; import android.view.Window; import android.view.WindowManager; /** * Created by diyangxia on 2015/10/11. */ public class CommonTools { /** * 为界面设置沉浸式状态栏效果 * activity 当前Activity * res 颜色id或者图片资源id */ public static void initSystemBar(Activity activity,int res) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { Window win = activity.getWindow(); WindowManager.LayoutParams winParams = win.getAttributes(); final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS; winParams.flags |= bits; win.setAttributes(winParams); } SystemBarTintManager tintManager = new SystemBarTintManager(activity); tintManager.setStatusBarTintEnabled(true); tintManager.setStatusBarTintResource(res); } }
第四步:在Activity中调用方法,如果设置的是图片,其实一般很少设置图片,不过像QQ那样侧滑出来的背景全屏效果还是不错的,用这里的方法貌似实现不了;如果设置的是颜色,建议和每个界面顶部标题栏的背景色一致:
CommonTools.initSystemBar(MainActivity.this,android.R.color.holo_red_dark);
备注:这种情况只适合那种统一主题以及背景色的应用,要是像用FragmentTabhost实现的这种tab布局菜单的话,还是放弃使用吧,因为我简单尝试了一下,发现根本无法实现不同tab状态栏不同的功能。
相关文章推荐
- 使用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