Android沉浸式状态栏设计的实例代码
发布时间 - 2026-01-11 02:33:35 点击率:次本文介绍了android沉浸式状态栏,分享给大家,希望对大家有帮助

一、概述
现在主流的App设计风格很多都用到了Materail Design,今天我们就来简单的实现一下改变状态栏颜色、让状态栏透明这两种效果。
二、实现状态栏设置颜色
我们写一个工具类StatusBarUtils
代码如下:
/**
* 设置状态栏颜色
*
* @param activity
*/
public static void setStatusColor(Activity activity, int color) {
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP) {
//直接调用系统提供的方法 setStatusBarColor
activity.getWindow().setStatusBarColor(color);
} else if (Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT) {
// 4.4 - 5.0 之间 采用一个技巧,首先把他弄*屏,在状态栏的部分加一个布局
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
View view = new View(activity);
ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, getStatusbarHeight(activity));
view.setLayoutParams(params);
view.setBackgroundColor(color);
ViewGroup viewGroup = (ViewGroup) activity.getWindow().getDecorView();
viewGroup.addView(view);
// 获取activity中setContentView布局的根布局
ViewGroup contentView = (ViewGroup) activity.findViewById(android.R.id.content);
View activityView = contentView.getChildAt(0);
activityView.setFitsSystemWindows(true);
}
}
private static int getStatusbarHeight(Activity activity) {
Resources resources = activity.getResources();
int statusHeightId = resources.getIdentifier("status_bar_height", "dimen", "android");
return resources.getDimensionPixelOffset(statusHeightId);
}
在Android5.0以上直接调用系统提供的方法 setStatusBarColor,4.4-5.0之间,首先弄*屏,然后在状态栏的部分加一个布局。
三、设置状态栏透明
代码:
public static void setActivityTranslucent(Activity activity) {
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP) {
activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
activity.getWindow().setStatusBarColor(Color.TRANSPARENT);
} else if (Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT) {
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
}
}
代码就这么多,分析完毕,效果大家可以自己去试一试,我这就不上图了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# android沉浸式状态栏
# 安卓沉浸式状态栏
# Android Studio 全屏沉浸式透明状态栏效果的实现
# Android实现沉浸式状态栏功能
# Android编程中沉浸式状态栏的三种实现方式详解
# Android沉浸式状态栏 + actionBar渐变 + scrollView顶部伸缩效果
# Android沉浸式状态栏的实现代码
# 解决Android 沉浸式状态栏和华为虚拟按键冲突问题
# Android 沉浸式状态栏与隐藏导航栏实例详解
# Android 详解沉浸式状态栏的实现流程
# 状态栏
# 直接调用
# 就不
# 这么多
# 我这
# 把他
# 给大家
# 就来
# 都用
# 这两种
# 大家多多
# 上图
# 设计风格
# VERSION
# SDK_INT
# gt
# int
# Activity
# Build
# color
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程
Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】
Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程
在线教育网站制作平台,山西立德教育官网?
Laravel如何自定义错误页面(404, 500)?(代码示例)
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南
零基础网站服务器架设实战:轻量应用与域名解析配置指南
php静态变量怎么调试_php静态变量作用域调试技巧【解答】
Laravel中的withCount方法怎么高效统计关联模型数量
Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
如何在宝塔面板创建新站点?
Laravel如何使用模型观察者?(Observer代码示例)
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
Android使用GridView实现日历的简单功能
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
如何在宝塔面板中创建新站点?
如何在VPS电脑上快速搭建网站?
googleplay官方入口在哪里_Google Play官方商店快速入口指南
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载
javascript读取文本节点方法小结
Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明
宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法
如何在IIS中配置站点IP、端口及主机头?
如何使用 jQuery 正确渲染 Instagram 风格的标签列表
Win11怎么设置默认图片查看器_Windows11照片应用关联设置
如何快速搭建支持数据库操作的智能建站平台?
高防服务器租用如何选择配置与防御等级?
Laravel如何使用Sanctum进行API认证?(SPA实战)
android nfc常用标签读取总结
大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?
公司网站制作需要多少钱,找人做公司网站需要多少钱?
Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
北京企业网站设计制作公司,北京铁路集团官方网站?
如何在景安云服务器上绑定域名并配置虚拟主机?
使用spring连接及操作mongodb3.0实例
laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法
JavaScript如何实现音频处理_Web Audio API如何工作?
Python数据仓库与ETL构建实战_Airflow调度流程详解
Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】
太平洋网站制作公司,网络用语太平洋是什么意思?
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
如何做网站制作流程,*游戏网站怎么搭建?
Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言
魔毅自助建站系统:模板定制与SEO优化一键生成指南
Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】

