Repository navigation
2.2.0 Dev 7:修复选中胶囊位置偏高
Pre-release
Pre-release
修复:胶囊没盖住按钮文字
真机截图显示胶囊盖住了图标,但底部的标签文字露在胶囊外面。
原因:垂直方向坐标错位
底栏外壳带 padding(vertical = 6dp),所以按钮内容区是 56 − 12 = 44dp,起点在 y = 6dp。
而选中指示器是独立图层,坐标原点在外壳的 y = 0——它不知道外壳有 padding。
上一版给指示器的高度是 56 − 2×5 = 46dp:
- 高度 46dp 超过内容区的 44dp
- 位置比内容区高了 6dp
两个叠加,底部约 8dp 的文字就露在了胶囊外。
修法
让指示器与 item 槽位共用同一套内缩,不再各自算坐标:
- 指示器垂直内缩直接引用外壳的
GlassBarItemPaddingV(消除两个值分叉的可能) - 指示器高度改为
56 − 2×6 = 44dp,正好等于外壳内容区高度 - 显式补上
padding(top = 6dp),与外壳顶部对齐
这样静止态与按钮槽位逐像素重合——完整覆盖。按下时 1.28 → 1.36,44dp 胀到 60dp,比外壳 56dp 高 4dp,以中心放大后上下各溢出 2dp,即"点击后超出底栏上下一点点"。
顺带把 padding 移到 graphicsLayer 之后,避免 padding 区域被玻璃采样进去多采一段空白。
安装:下载 APK 覆盖安装(同签名)。