android使状态栏沉浸效果
来源:互联网 发布:网络公司员工培训 编辑:程序博客网 时间:2024/05/16 11:53
ROM模块界面实现沉浸式状态栏的效果
方案一
在Activity里onCreate()方法中
super.onCreate(arg0);
getWindow().setStatusBarColor(getResources().getColor(R.color.status_bar_color));
etContentView(R.layout.group_browser_list_activity);
大多数界面使用此方法可以生效
方案二
在Activity的Oncreate()方法中加入FLAG,如下:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
这样的操作会使状态栏、虚拟键透明化,整个布局会充满屏幕。此时需要修改Acticity布局文件
通过getWindow().getDecorView().findViewById(android.R.id.content)得到activty外层布局parent
在parent中添加一个和状态栏一样大小的View---通过此view来更新状态栏颜色
并设置activity外框边距即可
parent.getChildAt(0).setPadding(0,statusBarHeight, 0, 0);
具体代码如下
工具类代码:
public class StatusBarColorManager {
public static void setStatusBarColor(Activityactivity, int statusBarcolorId){
compat(activity, statusBarcolorId);
}
private static void compat(Activity activity,int statusBarcolorId) {
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
int statusBarHeight =getStatusBarHeight(activity);
View view = new View(activity);
view.setBackgroundColor(statusBarcolorId);
ViewGroup parent = (ViewGroup)activity.getWindow().getDecorView().findViewById(
android.R.id.content);
parent.addView(view, ViewGroup.LayoutParams.MATCH_PARENT,
statusBarHeight);
parent.getChildAt(0).setPadding(0,statusBarHeight, 0, 0);
}
private static int getStatusBarHeight(Contextcontext) {
int id =context.getResources().getIdentifier("status_bar_height",
"dimen", "android");
int dimen = 0;
if (id > 0) {
dimen =context.getResources().getDimensionPixelSize(id);
}
return dimen;
}
}
调用方法
在Activity的Oncreate()方法中setContentView(R.layout.group_browser_list_activity)之后 调用
StatusBarColorManager.setStatusBarColor(this,getResources().getColor(R.color.primary_color_dark));即可
- android使状态栏沉浸效果
- Android 状态栏沉浸式效果
- Android状态栏透明(沉浸式效果)
- Android 44 沉浸式状态栏效果
- Android 沉浸式状态栏及悬浮效果
- Android中的沉浸式状态栏效果
- android实现沉浸式状态栏效果
- Android中的沉浸式状态栏效果
- Android 沉浸式状态栏及悬浮效果
- Android 沉浸式状态栏及悬浮效果
- Android 沉浸式状态栏(QQ5.0透明状态栏的效果)
- android 4.4以上可以实现的沉浸式状态栏效果
- Android使用systembartint库实现沉浸式状态栏效果
- Android 实现沉浸式状态栏效果(systembartint库)
- Android透明状态栏效果和沉浸式模式体验
- Android DrawerLayout+ToolBar+NavigationView实现策划效果,沉浸式状态栏
- Android UI体验之全屏沉浸式透明状态栏效果
- Android UI体验之全屏沉浸式透明状态栏效果
- 如何设置铃声和壁纸实例
- linux mint 18虚拟机下设置1080P分辨率
- 整数十进制转换为二进制和十六进制
- [AngularJS面面观] 21. 依赖注入 --- constant到底如何而来
- Q351:从字符串1中删除字符串2中出现的字符
- android使状态栏沉浸效果
- 【卷积神经网络】tiny-dnn网络参数
- OC语法基础:NSURLConnection总结
- JDBC连接sql server数据库
- android输入法问题
- JAVA学习代码——输入身份证判断生日
- Oracle分页
- tortoisegit使用
- Android开发之浅谈框架模式MVC