刘海屏刚出来那会儿,怎么看怎么丑,后面又是水滴屏,稍微有点顺眼,再就是挖孔屏,都是啥玩意。

现在再看,刘海似乎也没那么丑了,居然还觉得挖孔的有点惊艳!

需求

前段时间在做挖孔屏适配,中间就不要有刘海,需求就是把这个刘海去掉。

调研

官方关于刘海屏有介绍,其中有两个属性比较关键:

说明
config_mainBuiltInDisplayCutout 用于定义刘海屏形状的路径。这是一个可由 android.util.PathParser 解析的字符串,并且是告知系统刘海屏大小和形状的方式。可在路径中指定 @dp 以便模拟针对不同设备的形状。由于实际的刘海屏具有精确的像素尺寸,因此在定义硬件刘海屏的路径时,请勿使用 @dp 指定符。
config_fillMainBuiltinDisplayCutout 一个确定是否在软件中绘制刘海屏路径(在上文中进行了定义)的布尔值。可用于模拟刘海屏,或填充实际刘海屏,以实现抗锯齿。如果为 true,则系统会以黑色填充 config_mainBuiltInDisplayCutout

看原生 frameworks/base/core/res/res/values/config.xml 这两个属性:

<string translatable="false" name="config_mainBuiltInDisplayCutout"></string>
<bool name="config_fillMainBuiltInDisplayCutout">false</bool>

说明原生是没有适配刘海,而现在手机却看到了刘海,肯定是有哪里定制,找了下,果然,有定制资源 apk A 将 config_fillMainBuiltInDisplayCutout 打开了,并配了 config_mainBuiltInDisplayCutout。

需求是去刘海,我只要再定制个资源,设置 config_fillMainBuiltInDisplayCutout 为 false 即可。

解决

一通复制粘贴,我的定制资源 apk B 完成了,等编译验证,结果刘海还在,WTF,不应该啊,难道是我的定制资源 apk 没有覆盖成功?

一般要想覆盖,可以使用 LOCAL_OVERRIDES_PACKAGES,可是并没有看到 apk A 有这样的写法,为什么他优先使用了 apk A 资源配置,我定制资源 apk B 没有生效,是不是还要哪里配置?一开始自然怀疑自己是不是哪里写错了,一行行检查代码,问之前做过这块的同事,确认我写的代码没问题!协调资源问 OS 组, ROM 组,并没有得到更多的支持。

以为这个问题没法解了,处在放弃边缘,有人提到了 priority, apk A 和 apk B 等级是一样,自然不能生效AndroidManifest.xml 有这段:

<overlay android:targetPackage="com.android.settings​" android:isStatic="true" android:priority="500" />

Android overlay 机制允许在不修改packages中apk的情况下,来自定义 framework 和 package 中的资源文件,实现资源的定制。其中 priority 决定优先级,必须是整数,默认是 0,范围是[-1000, 1000]​。​

握草,我再怎么也想不到是 android:priority 起作用了。

最后

没有什么问题是解不掉的,处理问题要积极推动,直到有定论。嗯,是这样的!

公众号

我的公众号:吴小龙同学,欢迎关注交流,公号回复关键字「1024」有惊喜哦。

Android 挖孔屏适配相关推荐

  1. android 挖孔屏适配_使用Flexible实现手淘H5页面的终端适配

    曾几何时为了兼容IE低版本浏览器而头痛,以为到Mobile时代可以跟这些麻烦说拜拜.可没想到到了移动时代,为了处理各终端的适配而乱了手脚.对于混迹各社区的偶,时常发现大家拿手机淘宝的H5页面做讨论-- ...

  2. android 挖孔屏适配_小米公布安卓Q升级适配计划,共11款机型

    数码新资讯?互联新事件?手机快测评?二十年专业老司机,等你上车,点击右上角关注泡泡网即可 6月14日,MIUI论坛发布了一份小米手机适配Android Q的计划表.具体机型以及计划测试时间如下: 小米 ...

  3. 【Android 屏幕适配】异形屏适配 ① ( 异形屏类型:刘海屏、水滴屏、挖孔屏 | 沉浸式布局刘海屏适配 | 华为手机异形屏适配注意点 )

    文章目录 一.异形屏类型:刘海屏.水滴屏.挖孔屏 二.沉浸式布局刘海屏适配 三.华为手机异形屏适配注意点 屏幕适配参考文档 : 设备兼容性概览 屏幕兼容性概览 支持不同的像素密度 声明受限屏幕支持 异 ...

  4. Android 全面屏处理(适配挖孔屏、刘海屏) kotlin

    测试机: Android 11 的 Xiaomi MI MAX 3 Android 12 的 Xiaomi K40 Pro 测试方法: 1. 该方法在api30后提示已经过时 在onCreat()方法 ...

  5. 2022 年苹果新品预测:iPhone 14 采用“挖孔屏”、Mac 全面升级?

    从收入与市值来看,2021 年对苹果而言无疑是成功的一年: 据去年 10 月 28 日苹果财报显示,截至 9 月 30 日其营业收入已达 3658.17 亿美元,较同期上涨 33.26%: 同时,20 ...

  6. 苹果前置摄像头拍出来是反的怎么调_不用等了!屏下摄像头难攻克,明年还是挖孔屏...

    看过目前市面上所有的手机外观,网友们表示更期待的还是屏下摄像头技术.打孔也好,刘海也好,水滴美人尖也好,升降机械结构也好,传统外观也好,折叠也好,都没能真正的解决用户们呼唤已久的"手机正面全 ...

  7. 和华为杯_华为P50超大杯确认!居中挖孔屏+鸿蒙OS系统:外观颜值感人

    [1月4日讯]相信大家都知道,自从华为手机遭受到"芯片禁令"以后,整个华为手机销量.品牌热度都在不断的下滑,有关于华为手机的消息也开始变得越来越少了, 看到这里,我们也就不难理解, ...

  8. 怎么在长方体上挖孔_华为P50将至,颜值升级!用上和三星旗舰一样的中置挖孔屏?...

    华为P系列近些年采用的屏幕设计风格并不一样,例如华为P20系列采用的是"刘海屏",华为P30系列采用的是"水滴屏",华为P40系列采用的是左侧"挖孔屏 ...

  9. iPhone 14不会全部采用挖孔屏 仅两款Pro版采用

    12月9日消息,据国外媒体报道,在iPhone 13系列正式发布之前,就曾有爆料人士透露,由于有太多的用户抱怨,iPhone 14在设计上会有一些改变,将采用挖孔屏,不会继续采用刘海屏. 但外媒在最新 ...

最新文章

  1. 集合啦,NLP数据增强技术!超全资源汇总
  2. csdn java社区_java中的io系统详解 - ilibaba的专栏 - 博客频道 - CSDN.NET
  3. Linux复习资料(二)、Linux基本操作
  4. 中班机器人教室设计方案_奇思妙想一起玩,机器人来了安格利亚东郡生态幼儿园亲子活动...
  5. leetcode 39. 组合总和 思考分析
  6. linux 创建精灵进程,linux 进程通信之 守护进程
  7. qgis在地图上画导航线_在Laravel中的航线
  8. 1万美元奖金,Kaggle 新赛瞄准室内定位
  9. 抄底王牌tdx 副图(无未來函数)
  10. 屏幕尺寸、分辨率、DPI、PPI
  11. win10 物理按键映射、快捷键修改
  12. gulp-livereload组件使用
  13. 打开Internet信息服务及IIS管理器
  14. 【上汽零束SOA】云管端一体化SOA软件平台系列介绍之一:产品篇
  15. 三种非递归遍历二叉树的方法
  16. 使用调色板(Palette)API 获取颜色
  17. 兼容安卓和苹果的滚动
  18. win7禁用驱动签名验证_如何在64位Windows 8或10上禁用驱动程序签名验证(以便可以安装未签名的驱动程序)...
  19. 游戏行业的明星效应与伪公关事件
  20. 如何快速干净的卸载mysql数据库,不影响下次安装

热门文章

  1. imx6ul 设备树文件
  2. 网站虚拟主机的流量为什么会受限制?
  3. MacDown一款Mac平台Markdown免费编辑器
  4. 给多少钱,员工才会拼命干?
  5. hexo中文字实现打字机效果
  6. Erasure Code原理
  7. 龙芯1B:按键外部中断例程
  8. MeeGo的创新模式-(讨论MeeGo与Android的比较和选择)
  9. vue之简单的注册账号
  10. Windows 11 绕过 TPM 方法总结,通用无 TPM 镜像下载 (2023 年 1 月更新)