当前位置: 首页 > news >正文

Android设置顶部状态栏透明,以及状态栏字体颜色

效果图

实现

1、新建一个utils

package com.example.lives.utils;import android.app.Activity;
import android.os.Build;
import android.view.View;
import android.view.WindowManager;/*** 状态栏工具类* 1.设置状态栏颜色* 2.隐藏状态栏* 3.设置状态栏字体颜色*/
public class StatusBarUtil {private Activity activity;//初始化activitypublic StatusBarUtil(Activity activity){this.activity = activity;}//将状态栏设置为传入的colorpublic void setColor(int color){if (Build.VERSION.SDK_INT >= 21) {View view = activity.getWindow().getDecorView();view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);activity.getWindow().setStatusBarColor(activity.getResources().getColor(color));}}//隐藏状态栏public void hide(){if (Build.VERSION.SDK_INT >= 21) {activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);}}//设置状态栏字体颜色public void setTextColor(boolean isDarkBackground){View decor = activity.getWindow().getDecorView();if (isDarkBackground) {//黑暗背景字体浅色decor.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);} else {//高亮背景字体深色decor.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);}}}

2、在需要使用的activity的onCreate方法中调用

    @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);StatusBarUtil statusBar = new StatusBarUtil(MainActivity.this);// 设置状态栏透明statusBar.setColor(R.color.transparent);// 设置状态栏文字为深色,一般为黑色(不设置的话就是浅色,一般为白色)statusBar.setTextColor(false);setContentView(R.layout.activity_main);}

http://www.xdnf.cn/news/886267.html

相关文章:

  • TDengine 开发指南—— UDF函数
  • 【JeecgBoot AIGC】AI知识库实战应用与搭建
  • 01 Deep learning神经网络的编程基础 二分类--吴恩达
  • Windows应用-GUID工具
  • LFWG2024.08
  • BeeWorks 协同办公能力:局域网内企业级协作的全场景重构
  • 电脑提示dll文件缺失怎么办 dll修复方法
  • 【Elasticsearch】 查询优化方式
  • openvino如何在c++中调用pytorch训练的模型
  • 【Oracle】分区表
  • Maxscript快速入门(四)
  • C#、VB.net——如何设置窗体应用程序的外边框不可拉伸
  • Mermaid画UML类图
  • 深度学习N2周:构建词典
  • 【笔记】解决MSYS2安装后cargo-install-update.exe-System Error
  • Mybatis动态SQL语句
  • aitrader兼容talib,布林带的简单策略,创业板十年年年化15.5%,附代码
  • 成都芯谷金融中心·文化科技产业园:构建产业新城的实践与探索
  • Python打卡训练营day45——2025.06.05
  • 11 - ArcGIS For JavaScript -- 高程分析
  • Redis 缓存策略:借助缓存优化数据库性能并保障数据一致性
  • Liunx进程替换
  • 【Linux篇】0基础之学习操作系统进程
  • 2021 RoboCom 世界机器人开发者大赛-高职组(初赛)解题报告 | 珂学家
  • Spring中@Primary注解的作用与使用
  • Dockerfile实践java项目
  • 哈希算法实战全景:安全加密到分布式系统的“核心引擎”
  • 25_06_05Ubuntu系统root密码破解
  • Vite模块联邦(vite-plugin-federation)实现去中心化微前端后台管理系统架构
  • ROS:pcd点云转为路径规划的pgm文件和yaml文件