首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当目标API28 (Android 9)时,fitsSystemWindows的安卓半透明状态栏始终是灰色的

当目标API28 (Android 9)时,fitsSystemWindows的安卓半透明状态栏始终是灰色的是因为在Android 9中,Google对状态栏的设计进行了一些改变。在此之前,通过设置fitsSystemWindows属性为true可以实现半透明状态栏的效果,但在Android 9中,这种方式会导致状态栏始终呈现灰色。

为了解决这个问题,可以使用新的方式来实现半透明状态栏。以下是一种解决方案:

  1. 首先,在styles.xml文件中定义一个新的主题,例如:
代码语言:xml
复制
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowTranslucentStatus">true</item>
</style>
  1. 然后,在AndroidManifest.xml文件中将应用的主题设置为新定义的主题,例如:
代码语言:xml
复制
<application
    ...
    android:theme="@style/AppTheme">
    ...
</application>
  1. 最后,在布局文件中使用fitsSystemWindows属性,并将其设置为false,例如:
代码语言:xml
复制
<LinearLayout
    ...
    android:fitsSystemWindows="false">
    ...
</LinearLayout>

通过以上步骤,可以实现在目标API28 (Android 9)上的半透明状态栏效果。

关于fitsSystemWindows属性的概念,它是一个View的属性,用于指定View是否需要考虑系统窗口(如状态栏、导航栏)的区域。当设置为true时,View会调整自身的布局以确保不被系统窗口遮挡;当设置为false时,View会占据整个可用区域,包括系统窗口的区域。

半透明状态栏通常用于实现更加沉浸式的用户界面体验,可以使应用的内容延伸到状态栏的区域。它在一些需要全屏展示内容的应用场景中非常有用,例如游戏、多媒体播放器等。

腾讯云相关产品中,与Android开发相关的产品包括腾讯移动分析、腾讯移动推送、腾讯移动测试等。这些产品可以帮助开发者进行移动应用的数据分析、消息推送和测试等工作。具体产品介绍和链接地址可以参考腾讯云官方网站的相关页面。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

全屏、沉浸式、fitSystemWindow使用及原理分析:全方位控制“沉浸式”实现

:是合成目标Layer,不参与合成 从上表可以看出,虽然只展示了一个Activity,但是同时会有StatusBar、NavigationBar、XXXXActivity可以看出Activity是在状态栏与导航栏下面的...最后看一下translucentFlag,默认情况下,状态栏背景色与translucent半透明效果互斥,半透明就统一用半透明颜色,不会再添加额外颜色。...:fitsSystemWindows属性是系统添加状态栏padding关键,为什么这样呢?...有一个小点需要注意下,那就是Theme中也支持fitsSystemWindows设置 true 默认情况下上属性为...为何windowTranslucentStatus与statusBarColor不能同时生效 Android4.4时候,加了个windowTranslucentStatus属性,实现了状态栏导航栏半透明效果

5.6K40
  • Android实现沉浸式状态栏功能

    Android中实现沉浸式状态栏功能,供大家参考,具体内容如下 1. 先上效果图,实现沉浸式状态栏有两种方式,一种是通过写Theme主题方式,另一种是写代码方式。..." true</item //允许页面可以拉伸到顶部状态栏并且定义顶部状态栏透明,4.4才有 <item name="<em>android</em>:windowTranslucentNavigation"..." false</item //允许页面可以拉伸到顶部状态栏并且定义顶部状态栏透明,4.4才有 <item name="<em>android</em>:windowTranslucentNavigation"...true</item //设置虚拟键透明 <item name="<em>android</em>:statusBarColor" @android:color/transparent</item //设置状态栏颜色为透明...="AppTheme" </style 2.2.4 最后一点需要在对应布局文件中添加,然后在AndroidManifest.xml引用 android:fitsSystemWindows="true

    2K50

    Android 沉浸式状态栏多种样式

    沉浸式状态栏大家都很熟悉,即 APP 界面图片延伸到状态栏, 应用本身沉浸于状态栏,即顶部不会默认展示系统黑条。和尚我技术有限,理解不透彻,仅分享一下自己应用测试中可以呈现几种样式。 ?...中添加 android:fitsSystemWindows="true",这个很重要,可以使背景图片延伸至状态栏,当然在 Java 文件中设置一样效果; <?...)、 values-v19 (处理 Android4.4 版本) 和 values-v21 (处理 Android5.0以后半透明); values style.xml <style name="ToorbarTheme...测试发现,若将根布局<em>的</em>高设为 <em>android</em>:layout_height="wrap_content" 图片正常展示,如果为 android:layout_height="match_parent"...和尚我解决方法是使用 layer-list drawable,类似于启动页初始加载样式。 <?xml version="1.0" encoding="utf-8"?

    1.5K41

    移动端web开发笔记

    black :状态栏背景是黑色。 black-translucent :状态栏背景是半透明。 如果设置为 default 或 black ,网页内容从状态栏底部开始。...:123456">123456 开启短信功能: 123456 6、 移动端邮箱识别(Android) 与电话号码识别一样,在上会对符合邮箱格式字符串进行识别...字体,使用样式写法为20px .css{font-size:20px} 6、ios系统中元素被触摸产生半透明灰色遮罩怎么去掉 ios用户点击一个链接,会出现一个半透明灰色遮罩, 如果想要禁用,可设置...: rgba(0,0,0,0)} 7、部分android系统中元素被点击产生边框怎么去掉 android用户点击一个链接,会出现一个边框或者半透明灰色遮罩, 不同生产商定义出来额效果不一样,可设置-...webkit-user-modify有个副作用,就是输入法不再能够输入多个字符 另外,有些机型去除不了,如小米2 对于按钮类还有个办法,不使用a或者input标签,直接用div标签 8、winphone系统a、input标签被点击产生半透明灰色背景怎么去掉

    3.6K20

    Android 沉浸式解析和轮子使用

    Android4.4 到现在(Android 9),关于沉浸式大概可以分成三个阶段: Android4.4(API 19)- Android 5.0(API 21):这个阶段可以实现沉浸式,但是表现得还不是很好...总结:这三个阶段 Android 上 API 版本混乱,各种 Flag 林立。再加上各大厂商定制化可谓是火上浇油,让开发者异常头疼。...1.1.1 FLAGTRANSLUCENTSTATUS 沉浸式全屏模式启用时候,你 activity 会继续接受各类触摸事件。...粘性标签——这就是你设置了 IMMERSIVE_STICKY 标签 UI 状态,用户会向内滑动以展示系统栏。半透明系统栏会临时进行显示,一段时间后自动隐藏。...1.3 Android 6.0 +实现状态栏字色和图标浅黑色 使用 Android6.0 以下版本沉浸式时候会遇到一个问题,那就是 Android 系统状态栏字色和图标颜色为白色,状态栏颜色接近浅色时候

    3.2K10

    第135天:移动端开发经验总结

    不管当前有多少只手指 touchmove:手指在屏幕上滑动连续触发。...tel:123456">123456   开启短信功能:  123456 4、 移动端邮箱识别(Android)   与电话号码识别一样,在上会对符合邮箱格式字符串进行识别...:  dooyoe@gmail.com 5、 ios系统中元素被触摸产生半透明灰色遮罩怎么去掉         ios用户点击一个链接...,会出现一个半透明灰色遮罩, 如果想要禁用,可设置-webkit-tap-highlight-coloralpha值为0,也就是属性值最后一位设置为0就可以去除半透明灰色遮罩。...、 禁止文本缩放 移动设备横竖屏切换,文本大小会重新计算(或者在内嵌浏览器中设置字体大小),进行相应缩放,当我们不需要这种情况,可以选择禁止: html {   -webkit-text-size-adjust

    1.6K30

    再学一遍android:fitsSystemWindows属性

    对于android:fitsSystemWindows这个属性你是否感觉又熟悉又陌生呢? 熟悉是因为大概知道它可以用来实现沉浸式状态栏效果,陌生是因为对它好像又不够了解,这个属性经常不灵。...我相信用到android:fitsSystemWindows朋友基本都是为了去实现沉浸式状态栏效果。 这里我先解释一下什么是沉浸式状态栏效果。...那么借助android:fitsSystemWindows属性是如何实现沉浸式状态栏效果呢?这个属性为什么又总是不灵呢?接下来我们就来一步步学习和揭秘。...我相信按照绝大多数人美好设想,android:fitsSystemWindows属性就应该像是一个开关一样,设置成true就可以打开沉浸式状态栏效果,设置成false就可以关闭沉浸式状态栏效果。...CoordinatorLayout设置了android:fitsSystemWindows属性,会对当前布局insets做一些处理,并且调用了下面一行代码: setSystemUiVisibility

    1.2K50

    挥别web移动端开发差异和经典坑

    系统中元素被点击产生边框 描述:部分android系统点击一个链接,会出现一个边框或者半透明灰色遮罩, 不同生产商定义出来额效果不一样 解决: a,button,input,textarea{ -...无此特性。 在 iOS 中,手指按住屏幕上下拖动,会触发 touchmove 事件。这个事件触发对象是整个 webview 容器,容器自然会被拖动,剩下部分会成空白。...描述:ios就是唤起键盘后,整个页面会被键盘压缩,也就是说页面的高度变小,并且所有的 fixed 全部变为了 absolute ,而 android 中唤起键盘是覆盖在页面上,不会压缩页面 可以通过监听移动端软键盘弹起...时间:201908 部分机器点击键盘发送相同内容 描述:部分机,如oppo 快速点击键盘发送,会发出2条一样内容,防抖与节流均不生效; 时间:201907 微信公众号 在微信授权回调带#...URL跳转会出现空白 描述:手机,在微信授权回调函数中进行跳转至URL不能带有#,但#号可放置在结尾。

    2.9K20

    Android编程中沉浸式状态栏三种实现方式详解

    本文实例讲述了Android编程中沉浸式状态栏三种实现方式。...分享给大家供大家参考,具体如下: 沉浸式状态栏 Google从android kitkat(Android 4.4)开始,给我们开发者提供了一套能透明系统ui样式给状态栏和导航栏,这样的话就不用向以前那样每天面对着黑乎乎上下两条黑栏了...首先看下第一种方式 系统方式沉浸式状态栏实现 步奏一 //系统版本为4.4或者4.4以上可以使用沉浸式状态栏 if (Build.VERSION.SDK_INT = Build.VERSION_CODES.KITKAT...:fitsSystemWindows="true" android:clipToPadding="true" 我们看下activity和布局文件 FirstActivity.java: /** * 沉浸式状态栏...实现沉浸式状态栏 * */ private void initState() { //系统版本为4.4或者4.4以上可以使用沉浸式状态栏 if (Build.VERSION.SDK_INT

    2.2K10

    沉浸式状态栏三种实现方式

    沉浸式算是目前Android行业比较流行一种App设计风格,将菜单栏北京设置为导航栏颜色,感觉顶部状态栏像是被入侵了一样,因此称为沉浸式菜单栏。本文将介绍三种方式去实现沉浸式状态栏。 ?...Google从android kitkat(Android 4.4)开始, 给我们开发者提供了一套能透明系统ui样式给状态栏和导航栏,这样的话就不用向以前那样每天面对着黑乎乎上下两条黑栏了,还可以调成跟...三种方式实现沉浸式状态栏 首先看下第一种方式 系统方式沉浸式状态栏实现 步骤一 系统版本为4.4或者4.4以上可以使用沉浸式状态栏 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT...android:text="你好,沉浸式状态栏"/> 接着看下第二种方式 实现思路,添加隐藏布局,然后我们动态计算状态栏高度,然后把这个高度设置成这个隐藏布局高度...实现沉浸式状态栏 * */ private void initState() { //系统版本为4.4或者4.4以上可以使用沉浸式状态栏 if (

    1.7K30

    浅谈Android自定义锁屏页发车姿势

    Android系统实现自定义锁屏页思路很简单,即在App启动开启一个service,在Service中时刻监听系统SCREEN_OFF广播,屏幕熄灭,Service监听到广播,开启一个锁屏页Activity...划瓶解锁基本思路很简单,手指在屏幕上滑动,拦截并处理滑动事件,使锁屏页面随着手指运动,运动到达一定阀值,用户手指松开手指,锁屏页自动滑动到屏幕边界消失,如果没有达到运动阀值,就会自动滑动到起始位置...,短暂调出状态栏和导航栏会呈半透明状态,并且在一段时间内或者用户与应用内元素进行互动情况下自动隐藏,沉浸模式四种状态如下图。..." android:fitsSystemWindows="true"> <!...这个“半透明化”包括了状态栏和通知栏,开发者让应用支持这个新特性时候,状态栏和导航栏可以单独/同时变为渐变半透明样式,如下图: ?

    2.3K80

    蓝牙键盘鼠标映射_蓝牙鼠标模拟器

    相关文章:《蓝牙HID TouchScreen协议让你手机变成触摸屏》 本文源码下载地址:《仅通过蓝牙HID将手机模拟成鼠标和键盘》源码 多文源码打包下载: 《仅通过蓝牙HID将手机模拟成鼠标和键盘...》+《蓝牙HID TouchScreen协议让你手机变成触摸屏》两份源码打包下载 《仅通过蓝牙HID将手机模拟成鼠标和键盘》+《蓝牙HID TouchScreen协议让你手机变成触摸屏...》+《通过蓝牙将手机模拟成游戏方向盘-支持旋转轮胎》三份源码打包下载 【2022.04.21】源码在Android 12中运行注意事项:由于Android 12对蓝牙权限做了调整,取消了位置信息,增加了扫描...之前也在国内外网站上找了各种方案,但是这些方案不是很好,直到谷歌发布API28后终于有了很好解决方案。...比如给他9个Control,然后再用7个BitPadding填充?这些我都试了,在卓里虽然不能调节屏幕亮度,其它功能是不受影响,但是到win10所有功能都受影响了。

    5.7K20

    android之.9.png详解

    .9.PNG是开发里面的一种特殊图片,这种格式图片通过ADT自带编辑工具生成,使用九宫格切分方法,使图片支持在android 环境下自适应展示。...什么叫.9.PNG呢,这是开发里面的一种特殊图片 这种格式图片在android 环境下具有自适应调节大小能力。...(1)允许开发人员定义可扩展区域,需要延伸图片以填充比图片本身更大区域,可扩展区内容被延展。 (2)允许开发人员定义内容显示区,用于显示文字或其他内容 ?...如下图所示: 左侧和上方黑线交叉部分即可扩展区域 右侧和下方黑线交叉部分即内容显示区域(如做button背景图,button上文字显示区域) 用它可以实现部分拉伸,从而实现图片在系统上完美应用...拆过系统framework-res.apk包机油们细心点看,里面有许多有.9.PNG后缀图片 这些图片是经过工具进行特殊处理过,如果不处理的话,直接用PNG图就会有失真,拉伸不正常现象出现

    1.3K60

    5种方法完美解决android软键盘挡住输入框方法详解

    下面对几种在开发中常用方法进行总结: 方法一:非透明状态栏下使用adjustResize和adjustPan,或是透明状态栏下使用fitsSystemWindows=true属性 主要实现方法: 在...fitsSystemWindows=”true”只有初始view起作用:如果在布局中不是最外层控件设置fitsSystemWindows=”true”那么设置那个控件高度会多出一个状态栏高度。...但以下两方面无法满足需求: 1) Activity设置成全屏fullscreen模式时或是使用沉浸式状态栏,界面最外层包裹 ScrollView,输入框超过一屏,当前输入框下面的输入框并不能上下滑动来输入...沉浸式状态栏/透明状态栏情况下 自android系统4.4(API =19)就开始支持沉浸式状态栏使用觉System windows(系统窗口),显示系统一些属性和操作区域,如 最上方状态及没有实体按键最下方虚拟导航栏...android:fitsSystemWindows=“true”会使得屏幕上可布局空间位于状态栏下方与导航栏上方 方法三:使用scrollTo方法,键盘弹起,让界面整体上移;键盘收起,让界面整体下移

    23.2K31

    2个函数终结状态栏6个疑难杂症

    设置布局背景状态栏透明度 设置顶部View状态栏透明度 设置ViewPager中Fragment状态栏 设置滑动返回状态栏 设置DrawLayout状态栏 如何实现 结论 1 前言 首先推广下...2 功能 该工具类支持SDK19及以上,我所设计设置状态栏主要包括两类,其一是设置状态栏颜色,其二是设置状态栏透明度,这两大类在应用中主要包含六点。...设置状态栏颜色 设置布局背景状态栏透明度 设置顶部View状态栏透明度 设置ViewPager中Fragment状态栏 设置滑动返回状态栏 设置DrawLayout状态栏...需要注意是,DrawerLayout需要添加android:fitsSystemWindows="true"这个属性,另外就是和Fragment一样,需要自己在顶层最上方添加假状态栏。...3 如何实现 首先我们看一张UI架构图,如下所示。 ?

    49710

    Android layout属性大全

    android:fitsSystemWindows设置布局调整是否考虑系统窗口(如状态栏) android:visibility定义布局是否可见            android...android:contentDescription 说明          android:OnClick 点击从上下文中调用指定方法     第三类:属性值为具体像素值,如30dip,40px...android:scrollbars设置滚动条状态         android:scrollbarStyle设置滚动条样式         android:fitsSystemWindows设置布局调整是否考虑系统窗口...(如状态栏)         android:scrollbarFadeDuration设置滚动条淡入淡出时间         android:scrollbarDefaultDelayBeforeFade...设置绘图半透明质量         android:OverScrollMode滑动到边界时样式         android:alpha设置透明度         android:rotation

    2.1K90

    android刘海屏适配(刘海屏或圆角适配)

    大家好,又见面了,我是你们朋友全栈君。 P版本也就是刚发布9.0 其中就加入了刘海屏相关API。...通常,应用程序应仅使用SDK中类官方记录部分。特别是,这意味着您通过诸如反射之类语义与类交互,您不应该计划访问SDK中未列出方法或字段。使用此类方法或字段存在破坏应用程序高风险。...当然这个不是我们今天要讲重点,对于非SDK行为限制我会再抽时间好好研究后再发布一篇博客。 在P发布公测版到7月底,想必不少开发者都收到了来自各大应用市场发来邮件。...正如前面说到系统默认支持宽高比是1.7-1.8左右,现在流行全面屏手机分辨率宽高比大于了这个数,导致屏幕区域不能利用完全,就出现了黑色区域。解决办法也很简单。...如图: 第二张图就是开启模拟选项后显示切口样式,当然这个缺口是模拟,目前真机普遍刘海屏高度在90px左右,模拟器模拟刘海屏高度为144px。

    2.1K10

    android 设置标题栏背景颜色_状态栏菜单栏都在哪

    android:fitsSystemWindows=”true”属性就可以了,要不布局会跑到状态栏和导航栏下面,与导航栏和状态栏重叠,这当然不是我们希望。...); 这行代码干什么用,因为我们这里首页和我页面,需要背景图片填充到状态栏,故不能使用android:fitsSystemWindows属性,故在实现上面效果带有底部导航栏手机上就会存在一个大坑,...带有底部导航栏手机底部导航按钮会和navigationbar重叠 如下图所示: 全屏,由于视图布局会填充到状态栏和导航栏下方,如果不使用android:fitsSystemWindows=”true...感兴趣小伙伴可以参下:android沉浸式状态栏fitsSystemWindows、标题栏折叠 下面我们说说怎么在界面滑动,修改状态栏和标题栏文字颜色。...这个主要通过监听AppBarLayout滑动距离,向上滑动,如果大于标题栏高度,则要动态改变标题栏文字颜色,标题栏折叠,改变状态栏文字颜色及返回铵钮图标,同时状态栏文字颜色变成暗色。

    2.2K10
    领券