Android4.4状态栏透明方法,与工具栏颜色一致

Android开发—设置状态栏颜色透明 在Android4.4之前,我们的应用没法改变手机的状态栏颜色,如上图一样应用的风格非常不美观;为了提供更好的界面交互,google在Android4.4.2开始提供了设置沉浸式状态栏的方法,,实际的效果其实就是透明的状态栏,然后在状态栏的位置显示我们自定义的颜色,通常为应用的actionbar的颜色,或者是将应用的整体的一张图片也占据到状态栏中,网上很多大牛写过沉浸式状态栏的代码,今天... 阅读详情

在网上找了许多关于状态栏设置透明的方法,总是有这样那样的问题,最后自己瞎猫碰上死耗子,解决了,

不过这些也归功于网上开放的资源及众多博客。下面记录下透明方法,开发工具AndroidStudio

首先要在资源目录中建立一个values-v19目录,该目录中建立styles.xml文件

文件内容

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="colorControlNormal">@color/colorLunarTitle</item>
        <item name="android:windowTranslucentStatus">true</item>
        <item name="android:windowTranslucentNavigation">true</item>
    </style>
</resources>

几个color开头的项目是主题颜色设置部分,可以不理会,实现透明功能的是最后两项。

然后在Java代码中找到你想进行状态栏透明的页面,我的页面是继承自AppCompatActivity类

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // 设置透明状态栏
        supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
        ViewGroup contentFrameLayout = (ViewGroup) findViewById(Window.ID_ANDROID_CONTENT);
        if (contentFrameLayout != null) {
            View parentView = contentFrameLayout.getChildAt(0);
            if (parentView != null && Build.VERSION.SDK_INT >= 14) {
                parentView.setFitsSystemWindows(true);
            }
        }
        setContentView(R.layout.activity_main);
}

重写onCreate方法,先进行透明栏设置,然后再设置View,注意顺序。。。

到这里运行项目其实就已经透明化状态栏了,状态栏的颜色与页面的工具栏颜色一致了,但是会发现整个页面是上移的。。。

这里网上解决的办法就千奇百怪了,我都看不懂。。。然后就自己想吧,还别说,我想把工具栏变高,然后再Padding Top这个高度不就OK了,结果试了试,还不错

竟然成功了。。。

这是发现页面里面的View错位了,或者说工具栏盖住下面的View了,这时就需要在View的布局文件进行设置了

在页面的布局文件中的根节点中添加android:fitsSystemWindows="true"属性即可,如果不错位就不要添加这个属性了,添加了反而会起反作用。


安卓4.4以上修改状态栏颜色 很多刚开始接触安卓的人,可能都比较喜欢安卓5.0的Material Design,然而七月官方的安卓版本份额显示:5.0以上的市场份额仍小于13%(全球范围内,中国更小),4.4+5.0+5.1的份额加起来却占了总份额的大多数,所以对安卓4.4以上版本进行material design标志性的“状态栏变色”受众还挺多的。 这篇博文能够且只能够教你“如何在安卓4.4以上的版本修改状态栏的颜色” 阅读详情

相关推荐

安卓对状态栏和导航栏自定义颜色,透明,半透明的经验总结

安卓对状态栏和导航栏自定义颜色,透明,半透明的经验总结起因两栏透明化的实现两栏的隐藏和显示状态栏自定义颜色如何保留效果 起因 由于我司近日需要通过安卓app状态栏和导航栏的自定义来实现通屏显示,相关内容在各大网站上的教程众多,其中不乏详细优质的文章,此文只是我个人的一些总结,其中代码均来自网络。 本文中效果均为追求界面通屏显示,即让页面内容延伸到状态栏和导航栏下面,哪怕与其重叠 两栏透明化的实现 ...

Jordas_Lee的博客 2746

Android透明状态栏——你要的只是几个方法

以前写的项目基本没有考虑过Android透明状态栏的,最近项目有用到,便网上搜索一番。搜到的文章要么是讲解不全、存在错误,要么就是使用一些库,也不说原理,上来就是给你看效果图,然后十几个方法让你眼花缭乱,看源码就是越看越复杂。算了,自己写个简单能用的就好。所以,本文将通俗易懂地介绍Android透明状态栏原理,以及几种常见使用场景的处理方法。 下面是实现的效果: 以上效果支持状态栏和标题栏(To...

qq_42795723的博客 2880

android 最顶部状态栏--文字颜色和背景颜色、透明状态栏、颜色代码color.xml

android 顶部状态栏的设置 1、设置字体的颜色 getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR) 2、设置背景的颜色 <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 3、设置actionbar是否显示 在主题里加入: <item name="windowActionB

wy313622821的博客 1万+

Android 4.4及以上版本实现状态栏透明

转载请标明原地址:http://blog.csdn.net/u012258494/article/details/71215530参考了网上的很多方法,实现了状态栏透明,即状态栏和标题栏颜色一致。特此总结一下,以下方法适用于布局里没有EditText控件的情况下: 1、values/styles中定义app基本主题AppTheme,适配4.4以下非透明状态栏 <style name="App

XiaoLong的博客 2701

Android隐藏系统状态栏(沉浸式状态栏)和设置状态栏颜色

学完之后,若是想验收效果如何,其实最好的方法就是可自己去总结一下。比如我就会在学习完一个东西之后自己去手绘一份xmind文件的知识梳理大纲脑图,这样也可方便后续的复习,且都是自己的理解,相信随便瞟几眼就能迅速过完整个知识,脑补回来。下方即为我手绘的Android框架体系架构知识脑图,由于是xmind文件,不好上传,所以小编将其以图片形式导出来传在此处,细节方面不是特别清晰。但可给感兴趣的朋友提供完整的Android框架体系架构知识脑图原件(包括上方的面试解析xmind文档)

2401_84122760的博客 1141

实现Android透明状态栏的简洁指南

透明状态栏是Android应用中用户界面的重要组成部分,它显示当前时间和信号强度等关键信息。从Android 5.0(API 级别 21)开始,Android引入了材质设计,允许开发者实现更加美观的透明状态栏效果。透明状态栏不仅仅是为了美观,它还可以在视觉上扩展应用内容,提升用户体验。在之前章节中,我们深入探讨了在不同版本的Android系统中实现透明状态栏的技术细节,从基本的概念到具体实现方法,并通过示例项目和代码实践来加深理解。

weixin_42601608的博客 1358

Android 状态栏全透明策略

#Android 状态栏全透明策略@(Android)展示效果:Android4.4以下: 状态栏黑乎乎一片 Android4.4以后, 可以将状态栏设置为透明, 或者任意颜色 1. 全屏模式 2. 着色模式 DemoGithub Demo 链接: StatusBarCompat参考文章Android开发:Translucent System Bar 的最佳实践 Android状态栏一

Daker's Blog 3万+

修改标题栏和手机通知栏颜色相同

在android kitkat 有一个新的特性可以设置手机状态栏的背景,让手机整个界面的风格保持一致,看起来非常清爽,在今年的google i/o上的android l默认就是这种风格。

Android4.4、Android5.0+状态栏颜色、透明等设置

Android 4.4 Manifest文件Activity的Theme设置: true true 代码中设置: if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { Window window = getW

Vieboo韦伯 1万+

Unity3D赛车游戏+脚本基础

本章主要介绍Unity的基础开发流程以及涉及到的概念。这个过程需要我们学会编写一些游戏脚本,在这讲的过程中我们会完成一个赛车小游戏,因此,在讲述这些基本概念和流程的时候,会同时涉及到一点脚本的开发基础.在游戏,电影和动画中,都有一个渲染的帧率,电影是24帧/s,游戏大概是30帧/s(当然也有60帧/s的)。在unity里面1秒钟,Update方法执行了30次。1秒钟有30帧,帧与帧之所消耗的时间是不一样的,那么我如何知道上一帧用了多少时间?Time.deltaTime就是为了解决这个问题。

m0_58367586的博客 7658

adams案例分析_案例1(麦弗逊悬架子系统创建)

本文字数3292字83图,建议阅读时间26分钟首先看下案例1的麦弗逊悬架数模结构就不细讲了,从数模上主要是获取硬点坐标(铰接点、安装点、参考点)及大部件结构(副车架、摆臂、转向节等实际运动过程中会产生变形的部件,在ADAMS Car中我们就可以用柔性体来搭建)再来回顾下上一篇讲到的模型元素1、Hardpoint——硬点(只有位置没有方向)2、Parameter Variable——参数...

weixin_39609407的博客 6476

Android 4.4+ 实现半透明状态栏(Translucent Bars)

Android 4.4+ 实现半透明状态栏(Translucent Bars)Android从4.4(KitKat) 开始进行了一些视觉上的改善和提升,其中包括让状态栏(Status Bar)和下方导航栏(Navigation Bar)进行半透明处理,可以使APP内容向上下延伸,使整个画面的利用度大幅度提升,本篇就来说说这个“半透明状态栏”(Translucent Bars)。 简单做了个Demo

李济洲的博客 8186

传感器模块的电路艺术:从引脚定义到系统集成的设计哲学

本文深入探讨传感器模块的电路设计艺术,从引脚定义到系统集成的完整设计哲学。重点解析电源管理、信号处理及I2C通信协议等核心电路原理,分享多模块协同中的电源架构、信号完整性和接地策略,为硬件工程师提供实用的系统级设计思维与实战案例。

o1p2q3r的博客 223

Android状态栏透明方法,与工具栏颜色一致

Android状态栏透明方法,与工具栏颜色一致

Daxian的博客 1026

PSF(点扩散函数)与去卷积算法消除图像模糊

本文旨在总结图像处理中使用去卷积的传统方法来进行图像去模糊的相关知识。

m0_53607446的博客 6014

60、拓扑码:从理论到应用

本博客深入探讨了拓扑码的基本理论、构造方法及其在量子计算中的应用。重点介绍了颜色码的拓扑起源、编码量子比特的计算方法、弦算子的构造与性质、边界条件的影响、同调描述以及与统计模型相关的错误阈值分析。同时,还涵盖了拓扑码的历史发展、与其他拓扑码的关系、与凝聚态系统的联系,以及其在激发态和高维中的表现。博客展示了拓扑码在容错量子计算和未来量子信息领域的广阔前景。

o1p2q3r的博客 129

Android修改状态栏颜色

http://www.jianshu.com/p/932568ed31af状态栏颜色与toobal相同@TargetApi(19) private void initWindow() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { getWindow().addFlags(WindowManager.L

Misolamiso的博客 803

反应动力学仿真软件:Kintecus_(12).高级功能与技巧

Kintecus允许用户自定义复杂的反应方程,包括非线性反应和多相反应。通过自定义反应方程,用户可以更准确地描述实际反应系统。多尺度仿真是指在同一模型中同时考虑不同时间和空间尺度的反应过程。Kintecus提供了工具来处理从微观分子动力学到宏观反应动力学的多尺度仿真。通过本节的学习,您已经掌握了Kintecus的高级功能与技巧,包括复杂反应网络的构建、参数优化与敏感性分析、自定义反应机制、多尺度仿真、并行计算与批处理,以及数据可视化与后处理。

kkchenjj的博客 1048

Android开发技巧——设置系统状态栏颜色

开门见山,先来三张效果图: 然后我们再来讲如何实现以及如何快速地实现。如何实现实现设置系统状态栏颜色需要至少在Android 4.4.2(API 19)以上。这是因为,在这个版本以下,没有任何的API可以帮助我们来实现。那么具体如何设置呢?Android 4.4.2实现Android 4.4.2新增了一个特性,即可以设置系统状态栏为半透明。设置方法有两种,一是通过在主题style中添加以下

一个码农的博客 8万+

从误检率30%到99.7%:YOLOv8/v9工业零件缺陷检测实战(附产线部署全流程与参数调优秘籍)

工业场景YOLO实战:从实验室到车间的关键调优策略 本文针对工业缺陷检测的特殊性,系统总结了YOLOv8/v9在工业应用中的实战经验。通过齿轮厂缺陷检测案例,揭示了实验室模型与工业场景的三点本质差异:小目标特性(0.2-1mm缺陷)、复杂背景干扰(油污/反光)和数据量不足问题。重点提出了工业级解决方案:1)数据采集需覆盖极端工况(不同光照/污染/角度);2)标注采用LabelStudio+预标注提升效率;3)定制工业增强策略(反光模拟/缺陷复制粘贴)。文章还提供了完整的参数调优记录和TensorRT加速部署

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1734

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

安卓自定义状态栏颜色以与APP风格保持一致

我们知道IOS上的应用,状态栏的颜色总能与应用标题栏颜色保持一致,用户体验很不错,那安卓是否可以呢?若是在安卓4.4之前,答案是否定的,但在4.4之后,谷歌允许开发者自定义状态栏背景颜色啦,这是个不错的体验!若你手机上安装有最新版的qq,并且你的安卓SDK版本是4.4及以上,你可以看下它的效果: 实现此功能有两种方法: 1.在xml中设置主题或自定义style;

随枫飘零的博客 7061

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Android 设置状态栏颜色和状态栏文字、图标颜色

Android开发中,经常需要实现下图状态栏的效果,类似于沉浸式状态栏,但这里仅仅是讨论设置状态栏的颜色和状态栏上面文字、图标的颜色的方法。 Android 4.4(API 19)之后,就提供了修改状态栏颜色的方法,但是在 Android 6.0(API 23)之后,才支持修改状态栏上面的文字和图标颜色,默认是白色的。所以会导致一个问题,在 4.4 到 6.0 之间的系统,状态栏设置为浅色的话,状态栏上面白色的文字和图标会看不清,像下面这样: 有一些第三方的系统提供了设置状态栏和状态栏文字、图标颜色的方

weixin_42814000的博客 1万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Android学习历程22-Android修改状态栏颜色和标题栏颜色一致

Android修改状态栏颜色和标题栏颜色一致

anye_anye的博客 7944

Android开发 透明状态栏 沉浸式状态栏的实现

Android 透明状态栏Android 透明状态栏实现平台设置所需要的颜色填满屏幕状态栏透明化Padding调整状态栏颜色文字颜色设置(可选)颜色填充任务完成! 最近在做毕业设计,想要实现沉浸式状态栏,在网上搜索了好多的文章后拼拼凑凑,才实现了这个功能。也算是第一次做Android开发,所以写个文章纪念一下,并且分享给大家。 Android 透明状态栏 实现平台 Android 10 ,Flyme8.0,MEIZU 17 pro。 理论上应该支持所有的Android 6.0 以上的系统。 设置所需要的颜

JiangYH 5429

Android沉浸式状态栏(透明系统状态栏)

Android沉浸式状态栏(透明系统状态栏)的目的:顶部系统状态栏和App的导航栏一体化,不给用户突兀的感觉,使用户把更多的视角留在我们的App上。 沉浸式状态栏的兼容情况 Android版本 透明状态栏 <4.4 × 4.4-5.0 ✓ >=5.0 ✓ Android版本 黑白字符状态栏 <6.0 × >=6.0 ✓ fitsSystemWindows fitsSystemWindows,这个属性在沉.

jb_home的博客 5888
上一篇: CPU卡发卡步骤
下一篇: 关于AndroidManifest.xml报Use ' instead of '.' for inner classes....警报的解决办法
路过&
博客等级 码龄19年 126粉丝 91原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值