Android16修改全局桌面视图边框四直角显示为弧边圆角

在 dimens.xml 设置 rounded_corner_radius为16dp(默认0dp)当SystemUI 检测到这个半径 > 0时,会在屏幕四个角创建 ImageView

frameworks\base\core\res\res\values\dimens.xml

加载以下两个 XML 作为 ImageView 的 src,通过旋转/镜像让同一个矢量图覆盖到四个角,屏幕四个角显示黑色圆角,视觉上把直角"遮住",这两个文件是 SystemUI 圆角覆盖层的"遮罩"矢量图。它们的作用是:控制屏幕四个角显示什么样的圆角覆盖层

frameworks\base\packages\SystemUI\res\drawable\rounded_corner_top.xml

frameworks\base\packages\SystemUI\res\drawable\rounded_corner_bottom.xml

经验证后发现系统默认的8dp圆角最合适,修改pathData为M16,0H0v16C0,8.8,7.2,0,16,0z后圆角的弧太大了还原回8dp M8,0H0v8C0,8.8,7.2,0,8,0z

pathData 计算逻辑

当前 pathData="M16,0H0v16C0,8.8,7.2,0,16,0z" 表示:

|-------------------|----------------|---------------------------|
| 命令 | 坐标 | 含义 |
| M16,0 | (16, 0) | 移动到右上角 |
| H0 | (0, 0) | 水平线到左上角 |
| v16 | (0, 16) | 垂直线到左下角 |
| C0,8.8,7.2,0,16,0 | 贝塞尔曲线到 (16, 0) | 控制点1 (0,8.8),控制点2 (7.2,0) |
| z | 闭合路径 | 形成一个填充区域 |

相关推荐
dear_bi_MyOnly2 小时前
【MyBatis 操作数据库】
java·数据库·学习·mybatis·学习方法
workflower2 小时前
装备企业的 AI 路线图
人工智能·深度学习·机器学习·设计模式·机器人
2601_953720822 小时前
【计算机毕业设计】基于Spring Boot的心理健康咨询与评测系统的设计与实现
java·spring boot·后端
丈剑走天涯3 小时前
JDK 17 正式特性
java·开发语言
圣光SG3 小时前
Java操作题练习(七)
java·开发语言·算法
AFinalStone4 小时前
Android 7系统休眠唤醒(六)唤醒全链路
android·电源管理·休眠唤醒
@航空母舰5 小时前
SpringBoot通过Map实现天然的策略模式
java·spring boot·后端
西柚研究生1234565 小时前
创建自己的数据集(GoogLeNet)
深度学习·神经网络·cnn
雨白5 小时前
深入理解 Kotlin 协程 (九):互通有无,解构 Channel 缓冲策略与底层无锁机制
android·kotlin