因为 android的第三方图标不规则,公司这边会要求统一加一个标准背板。但是如果所有的图标都加一个会显得单调,所以我采用读取第三方图标的颜色,然后添加相应的背景。
修改图标背景的文件是在Launcher3文件夹下的Utilities.java下的 createIconBitmap 函数里,原始函数为:
public static Bitmap createIconBitmap(Drawable icon, Context context) {
synchronized (sCanvas) {
final int iconBitmapSize = getIconBitmapSize();
int width = iconBitmapSize;
int height = iconBitmapSize;
if (icon instanceof PaintDrawable) {
PaintDrawable painter = (PaintDrawable) icon;
painter.setIntrinsicWidth(width);
painter.setIntrinsicHeight(height);
} else if (icon instanceof BitmapDrawable) {
// Ensure the bitmap has a density.
BitmapDrawable bitmapDrawable = (BitmapDrawable) icon;
Bitmap bitmap = bitmapDrawable.getBitmap();
if