Android状态栏着色工具类
来源:互联网 发布:java语言程序设计答案 编辑:程序博客网 时间:2024/05/19 13:19
简述:
最近在搭建一个基本的Android框架,所以用到了状态栏着色,我们知道Android4.4开始已经可以改变手机状态栏颜色了,那么今天分享一组状态栏改变颜色的工具类。
StatusBarCompat:
/** * 类描述:修改StatusBar颜色工具类 * 作者:lzy * 邮箱:1556342503@qq.com */public class StatusBarCompat { private static final int INVALID_VAL = -1; private static final int COLOR_DEFAULT = Color.parseColor("#20000000"); @TargetApi(Build.VERSION_CODES.LOLLIPOP) public static void compat(Activity activity, int statusColor) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { if (statusColor != INVALID_VAL) { activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); activity.getWindow().setStatusBarColor(statusColor); } return; } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT && Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { int color = COLOR_DEFAULT; ViewGroup contentView = (ViewGroup) activity.findViewById(android.R.id.content); if (statusColor != INVALID_VAL) { color = statusColor; } View statusBarView = contentView.getChildAt(0); //改变颜色时避免重复添加statusBarView if (statusBarView != null && statusBarView.getMeasuredHeight() == getStatusBarHeight(activity)) { statusBarView.setBackgroundColor(color); return; } statusBarView = new View(activity); ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, getStatusBarHeight(activity)); statusBarView.setBackgroundColor(color); contentView.addView(statusBarView, lp); } } public static void compat(Activity activity) { compat(activity, INVALID_VAL); } public static int getStatusBarHeight(Context context) { int result = 0; int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android"); if (resourceId > 0) { result = context.getResources().getDimensionPixelSize(resourceId); } return result; }}使用:
StatusBarCompat.compat(this, Color.parseColor("#000000"));
0 0
- Android状态栏着色工具类
- Android状态栏着色-透明状态栏
- android状态栏着色
- Android状态栏着色实践
- Android着色状态栏实践
- Android状态栏着色实践
- Android 透明状态栏 、着色状态栏 (沉浸式状态栏)
- Android Notification 状态栏工具类
- 状态栏着色
- 着色状态栏
- Android沉浸式状态栏顶部着色
- android SystemBar 安卓状态栏工具类
- Android--------工具类StatusBarUtil实现完美状态栏
- Android 状态栏工具类(实现沉浸式状态栏/变色状态栏)
- Android 状态栏工具类(实现沉浸式状态栏 / 变色状态栏)
- Android 状态栏工具类(实现沉浸式状态栏/变色状态栏)
- Android开发-状态栏着色原理和API版本兼容处理
- 状态栏着色;沉浸式
- Reducers may not dispatch actions
- 基础练习 特殊回文数
- 玲珑oj 1046- chess play【水】
- Linux文件与目录管理
- 解决redhat linux乱码的问题
- Android状态栏着色工具类
- 累啊
- 基础练习 回文数
- 编码中的setCharacterEncoding 理解,中文乱码的问题
- 用testlink来管理测试用例
- UVALIVE 7505 dp
- linux进程通信——消息队列(相互通信)
- 重新将2016年诗词曲赋自选集制作成电子书
- JavaScript的提升行为及原理分析