系统图标形状设置和初始化

23 篇文章 0 订阅
7 篇文章 0 订阅

时间:2020/11/05
之前公司不允许csdn,笔记写在其它地方。最近整理过来

1、图标形状Overlay的主要代码

图标形状的主要代码在frameworks/base/services/core/java/com/android/server/om

frameworks/base/core/java/android/content/om/OverlayManager.java
setEnabled
setEnabledExclusiveInCategory
↑↓aidl
frameworks/base/services/core/java/com/android/server/om/OverlayManagerService.java
↓
↓真正的实现
frameworks/base/services/core/java/com/android/server/om/OverlayManagerServiceImpl.java
updateOverlaysForUser
setEnabled
setEnabledExclusiveInCategory

2、设置默认形状

frameworks/base/core/res/res/values/config.xml
形状和bool值要一起改,cts会检测图标形状是否是圆形

<bool name="config_useRoundIcon">true</bool>
<string name="config_icon_mask" translatable="false">"M50 0C77.6 0 100 22.4 100 50C100 77.6 77.6 100 50 100C22.4 100 0 77.6 0 50C0 22.4 22.4 0 50 0Z"</string>

3、遇到的bug

设置图标形状圆形,重启之后变为方形
/vendor/partner_gms/products/gms.mk中,又设置的默认覆盖导致

展讯 android11

#PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
#    ro.boot.vendor.overlay.theme=com.android.internal.systemui.navbar.threebutton;com.android.theme.icon.squircle

mtk android11
/device/mediatek/system/common/ago/device.mk中

ro.boot.vendor.overlay.theme=com.android.theme.icon.roundedrect

总结
发现framework设置图标形状未生效时, 全局搜一下当前图标形状的包名 或者 ro.boot.vendor.overlay.theme

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值