Android16修改全局桌面视图边框四直角显示为弧边圆角
📅 2026/7/30 18:36:51
👁️ 阅读次数
📝 编程学习
在 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 | 闭合路径 | 形成一个填充区域 |
编程学习
技术分享
实战经验