Android studio改变状态栏颜色,实现全局美感

Android状态栏定制全攻略:使用WindowInsetsControllerCompat实现沉浸式体验 在Android应用开发中,系统UI定制是提升用户体验与界面一致性的关键技术。状态栏作为系统与应用交互的关键视觉区域,其颜色与文字样式的动态控制直接影响应用的美观度与可用性。传统方法因Android版本碎片化,需要编写大量兼容性代码,涉及View.setSystemUiVisibility等API,开发过程繁琐。如今,借助AndroidX Core库提供的WindowInsetsControllerCompat,开发者可以统一处理从Android 4.1到最新版本的状态栏外观控制。该兼容层封装了底层差异,通 阅读详情

搞了几天的杂事,终于晚上可以研究研究项目了。今天坐车回来的时候打开前几天做的一小点的应用看了下,发现最上面有一块蓝色的背景,之前只是实现了应用的功能就没在意这些细节,今天才注意到这种问题。我想了想,明明我设置了隐藏标题栏的代码,为啥还有一块没去掉呢?像下面这图


经过查资料发现,原来是这最上面一小块名叫“状态栏。何为状态栏?状态栏即显示手机一系列状态信息的栏目,如手机电量,信号,时间等等信息。先前被我用requestWindowFeature(Window.FEATURE_NO_TITLE);去掉的名为“标题栏”。原来android默认的标题栏不包含这最上面的小部分,看来今天又学到了东西。

那么问题来了,既然标题栏可以去掉,那么状态栏可以吗?答案是肯定可以的。

android4.4版本之后(包含4.4),android的window(窗口)提供了新的属性,即:

WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS与WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION
两个属性分别表示将状态栏设置为透明,将导航栏设置为透明状态。使用方法如下所示:

protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     initWindow();
}
private void initWindow(){//初始化,将状态栏和标题栏设为透明
     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){
         getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
         getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);   
  }
状态栏虽然隐藏了,但是缺乏美感,这不是我们想要的结果,所以,只需要让其显示我们想要的颜色就可以了,在styles.xml文件的AppTheme下添加

<item name="android:fitsSystemWindows">true</item>
状态栏虽然出来了,但不是我们想要的颜色,那么需要我们声明:
private SystemBarTintManager tintManager;
并在之前的initWindow()中加上以下代码:

tintManager = new SystemBarTintManager(this);
            int statusColor=Color.parseColor("#FFFFFF");
            tintManager.setStatusBarTintColor(getColor(statusColor));
            tintManager.setStatusBarTintEnabled(true);

ok,这样问题就解决啦,看起来稍微好看点了。虽然看起来还是有点丑,后面我会找好看点的图标替换下那几个。

此文章仅作记录与参考,如有问题或者建议欢迎大家提出。

UniApp Android全面屏适配:实现底部导航栏沉浸式透明效果 在移动应用开发中,Android全面屏适配是常见的UI/UX挑战,尤其涉及系统导航栏与自定义界面的融合。其核心原理在于理解Android窗口体系,通过窗口标志(Window Flags)和系统UI可见性(System UI Visibility)控制内容布局边界。对于跨平台框架如UniApp,技术价值在于在不编写原生插件的前提下,实现Webview内容与原生系统UI的无缝衔接,提升视觉一致性和用户体验。应用场景广泛,包括沉浸式底部导航栏、全屏视频播放及手势操作优化等。本文聚焦UniApp项目,通过CSS安全 阅读详情

相关推荐

Python GUI开发进阶:从Tkinter定制到PyQt5实战,打造现代桌面应用

图形用户界面(GUI)是连接用户与软件功能的重要桥梁,其核心在于通过视觉元素和交互逻辑提供直观的操作体验。在Python生态中,Tkinter作为标准库提供了基础的GUI构建能力,而PyQt5等第三方库则凭借其丰富的控件和强大的渲染引擎,实现了更专业、更现代的界面表现。掌握GUI开发不仅能提升脚本的易用性,更是构建独立桌面应用、数据可视化工具及跨平台解决方案的关键技术。通过样式定制、布局管理和事件驱动编程,开发者可以高效实现从基础工具到商业级软件的界面需求。本文聚焦于**Tkinter深度定制**与**Py

weixin_34112181的博客 290

Android Studio改变默认顶部状态栏底色和文字颜色(kotlin)

由于本人经常忘记代码的使用,特此在这记录一下,同时希望能帮助到有需要的人

m0_74901369的博客 4834

Android 状态栏和通知栏图标的白色解决方案

在Android应用程序中,状态栏和通知栏的图标在某些情况下可能需要显示为白色。这种需求通常出现在应用程序的主题颜色为深色时,以确保图标能够清晰可见。在本文中,我将为你提供一种解决方案,以便在Android应用程序中将状态栏和通知栏图标设置为白色。希望上述解决方案能够帮助你将Android应用程序的状态栏和通知栏图标设置为白色。通过调用上述代码,你可以将状态栏和通知栏的图标设置为白色。Android 状态栏和通知栏图标的白色解决方案。引用了刚刚创建的通知栏图标。将图标的颜色设置为白色。对象,用于构建通知。

TechBurst的博客 816

Android Studio修改标题栏颜色和APP图标

Android Studio修改标题栏颜色和APP图标

fengruoying93的专栏 5824

Android修改状态栏颜色完全指南

在这篇文章中,我们将讨论如何通过编程的方式修改Android应用程序中的状态栏颜色。我们将提供详细的步骤和相应的源代码示例,以便您能够轻松修改您的应用程序的状态栏颜色。在创建项目的过程中,您可以选择适合您的需求的项目模板,并按照向导的指示完成项目的创建。如果您希望状态栏是透明的,并且应用程序的内容可以显示在状态栏下方,您可以使用以下代码来实现此效果。通过上述简单的步骤,您可以轻松地修改Android应用程序的状态栏颜色。文件中修改主题样式,以及在主Activity文件中添加透明状态栏的代码。

CyberGenius的博客 2178

Android开发必备:官方图标合集指南

图标资源集合是一个包含了所有图标资源的集合体,通常这些图标资源会被组织在特定的目录结构中。这些图标根据不同的使用场景,可以分为启动图标、菜单图标、状态栏图标等。每一种图标都有其特定的设计规范和尺寸要求,以适应不同的界面布局。SVG,即可缩放矢量图形(Scalable Vector Graphics),是一种基于XML的矢量图形格式,用于描述二维矢量图形。SVG图形由直线、曲线、多边形以及其他形状构成,并且可以嵌入文本、图像和视频。

weixin_32999557的博客 1068

UniApp Android应用实现沉浸式透明底部导航栏全攻略

在移动应用开发中,沉浸式体验是提升用户界面美观度和交互流畅性的关键技术。其核心原理在于通过系统API调整状态栏和导航栏的渲染模式,使应用内容能够延伸至系统UI区域之下,从而实现视觉上的无缝融合。这项技术的工程价值在于能够显著增强应用的现代感和视觉冲击力,尤其适用于追求全屏显示、拥有精美背景或视频内容的场景。在UniApp跨端开发框架中,实现Android设备的沉浸式效果,特别是处理底部导航栏透明化,是常见的实践需求。开发者需要综合运用前端配置、安全区域适配和原生能力调用来解决内容遮挡与多机型兼容性问题。本文

weixin_33857679的博客 383

android改变背景颜色

android JAVA 点击不同的按钮,可以改变界面的背景颜色

Android材料设计之材料主题

Android材料设计之材料主题 Android Material Design Theme Android 主题 前言在上一篇文章《Android材料设计》一文中,对Android材料设计有了基本认识,其中主题就是材料设计中的重要一环。对于每一个APP的开发者应该有多或少得体会,APP的主题对于APP的样式起了决定性的作用,直接影响到APP带给用户的美感和APP的行为。一款好的AP

FamilyYuan的博客 9265

别再只盯着GPS了!手把手教你用Python仿真UWB定位,30厘米精度是怎么算出来的?

本文详细解析了UWB(超宽带)室内定位技术的原理与实现,通过Python代码演示如何从三边测量法到实现30厘米精度的定位。文章涵盖了UWB的核心数学模型、Python仿真环境搭建、误差分析及优化策略,为开发者提供了实用的技术指南和应用场景。

weixin_26873711的博客 252

告别昂贵硬件!用Unity3D 2023 + ROS2 Humble搭建你的第一个SLAM仿真实验室(保姆级教程)

本文提供了一份详细的教程,介绍如何使用Unity3D 2023和ROS2 Humble搭建SLAM仿真实验室,无需昂贵硬件即可实现虚拟传感器模拟和算法测试。通过Docker容器配置、ROS2安装优化及Unity插件集成,开发者可以快速构建高精度的仿真环境,适用于自主导航、多传感器标定等场景。

weixin_42526353的博客 434

VSCode颜色主题避坑指南,这些暗色方案竟让代码阅读效率提升40%

提升代码阅读效率,首选护眼暗色主题!本文提供VSCode颜色主题推荐,精选多款适合长时间编码的暗色方案,减少视觉疲劳,优化夜间开发体验。涵盖适用场景与配置技巧,助你高效编程,值得收藏。

SimCompile的博客 797

幸狐RV1106开发板运行Yolo8示例

rknn_model_zoo 是瑞芯微官方提供的 RKNPU 支持的各种主流算法的部署示例,目前对 Luckfox Pico 所使用的 RV1103/RV1106 有限支持,最新的示例支持 mobilenet 模型部署和 yolo 模型部署,本章以部署 yolov8修改版本为例介绍 rknn_model_zoo 示例的使用。:可选项,用于指定 RKNN 模型的保存路径,默认保存在 ONNX 模型同一目录下,名称为 ‘yolov8.rknn’例如“rv1106”。

qq_42730522的博客 3224

基于React Native和鸿蒙系统的跨端教育百科类应用开发方案,HarmonyOS API 24,通过useState实现轻量状态管理,涵盖标签切换、列表展示、详情跳转等核心功能

在 Python 2 中,没有指定任何祖先的类被认为是旧式类。(self, obj, value):在读取属性时将调用这一方法(被称为 getter)。幸运的是,多亏了 Python 描述符的工作方式。• super 的使用必须一致:在类的层次结构中,要么全部用 super,要么全不用。它是一个类,定义了另一个类的属性的访问方式。为了避免前面提到的所有问题,在 Python 在这个领域取得进展之前,我们需要考虑以。Python 提供这一特性是为了避免继承中的名称冲突,因为属性被重命名为以类名为前。

2401_86113894的博客 807

告别理论!手把手教你用Vivado 2020.2为ZYNQ PL端打造一个AXI4-Full读写DDR的IP核

本文详细介绍了如何使用Vivado 2020.2为ZYNQ PL端创建AXI4-Full主控IP核,实现高效读写DDR内存的实战指南。通过环境配置、IP核创建、系统集成到软件调试的全流程讲解,帮助开发者快速掌握AXI4-Full协议在ZYNQ平台上的应用,提升PL与PS协同工作的数据传输效率。

weixin_30300225的博客 467

ArduPilot简介

一,什么是ArduPilot? ArduPilot是一个可信的,多用途的,开源的自动驾驶系统。该系统支持了非常多的交通工具类型,包括多旋翼无人机,传统直升机,固定翼飞行器,船,潜艇,巡逻车等。源码由大型开发者社区的专家和爱好者共同开发和维护。也欢迎更多的开发者加入源码的迭代演进,最好的“打开”方式就是加入开发者团队论坛。该论坛对所有人开放,在这里可以深入感受到开发者们对ArduPilot的热爱。 论坛链接:ArduPilot Discourse 开发者指南:Welcome to the ArduPil

从0到1,突破自己 5455

android studio开发手机状态栏颜色更改

使用android studio开发的哥们肯定都知道,as开发的工程,手机状态栏都默认变成蓝色,许多新手都不知道在哪里解决,其实很简单,只需要一行代码就可以 大家都知道androidmanifest中的application的主题是在values文件中下接夹下styles中配置的: application android:allowBackup="true" android

HuaMnge的博客 1万+

从零到一:ESP32与豆包大模型的RTC连续对话实现指南

文本实现ESP32S3 SparkBot与豆包大模型的RTC连续对话

举世誉之而不加劝,举世非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。 4366

Android Studio修改顶部导航栏背景颜色

请注意,这些设置可能受到设备制造商的定制Android版本或用户设置的界面主题的影响。此外,某些设备可能不支持更改状态栏或导航栏的颜色。在Android开发中,可以通过。方法来改变状态栏和导航栏的颜色。

qq_73973376的博客 1730

2025华为OD面试手撕代码真题目录、八股文真题目录以及面试技巧

1. **华为OD面试技术面准备指南** 2. **华为OD面试技术面常见问题解答** 3. **华为OD面试技术面经验分享** 4. **华为OD面试技术面注意事项** 5. **华为OD面试技术面攻略** 6. **华为OD面试技术面模拟题目与解析** 7. **华为OD面试技术面知识点梳理** 8. **华为OD面试技术面常考**

算法大师! 3万+

ABB变频器使用PROFINET IO通信模块时的激活方法

ABB变频器使用PROFINET IO通信模块时的激活方法

Robot_PLC_HMI_Automation 2736

androidStudio 修改状态栏颜色

1.在 build.gradle 中引入库: compile ‘com.readystatesoftware.systembartint:systembartint:1.0.4' 2.  在Activity中添加两个方法: private void changeTitleBarColor() { if (Build.VERSION.SDK_INT

极客列侬的编程之旅 2975

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Android Studio开发之路(十四)自定义Titlebar以及设置顶部状态栏颜色

项目需求,我要做一个下图这样的titlebar,包括一个返回按钮,一个关闭按钮,一个文本框。默认的titlebar按钮设计不太满足我的需求,于是我打算自定义一个titlebar组件,应用到我的每一个页面。由于我直接在res/Themes中设置主题为白色后,状态栏的文字也变成了白色,于是我手动设置状态栏的背景和文字颜色,设置方法参见上边一段代码。在res/layout下创建一个mytitlebar.xml。

qq_41104439的博客 1198

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Android开发修改状态栏背景颜色以及状态栏字体颜色

// 设置状态栏字体颜色 View stateView = getWindow().getDecorView(); if(stateView != null){ int vis = stateView.getSystemUiVisibility(); vis |= View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR; //黑色 //vis &=...

Mr__dingding的博客 1071

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Android Studio改变安卓工具栏背景色,内容色和状态栏颜色

res/values文件夹

m0_60352504的博客 3135

Android StatusBar 状态栏颜色设置

导读:最近在使用自己手机,发现一种动画效果非常不错,就是天气随着时间季节,状态栏和ToorBar颜色都会发生改变,搜索资料得出的三种方案….方案一 将手机状态栏透明化: 状态栏透明了,状态栏的颜色就会自动跟随下面的布局 两种方式:1.代码方式 /** * 设置透明状态栏 * <p> * 可在Activity的onCreat()中调用 * <p>

默小铭的博客 2万+
上一篇: Android 使用高德地图简单实现地图定位
下一篇: android 状态栏操作之-改变状态栏的颜色
水月沐风
博客等级 码龄10年 186粉丝 95原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值