使用自定义启动器向应用程序图标添加叠加层
Add an overlay to app icon with custom launcher
我使用以下代码来实现我自己的自定义启动器:
https://github.com/fookwood/Launcher3
我的目标是将位图或 PNG 文件设置为普通应用程序图标上方的叠加层。但是我找不到 google 最初在 "All Apps View" 中设置应用程序图标的区域。有人知道具体在哪里看吗?
已经自己找到了。对于所有想知道它的人。有一个 class 叫做 IconCache.Java。
/**
* Fill in "application" with the icon and label for "info."
*/
public synchronized void getTitleAndIcon(AppInfo application, LauncherActivityInfoCompat info,
HashMap<Object, CharSequence> labelCache) {
CacheEntry entry = cacheLocked(application.componentName, info, labelCache,
info.getUser(), false);
application.title = entry.title;
application.iconBitmap = overlay(entry.icon,BitmapFactory.decodeResource(mContext.getResources(), R.drawable.overlay_green));
//application.iconBitmap = entry.icon;
application.contentDescription = entry.contentDescription;
}
我使用以下代码来实现我自己的自定义启动器:
https://github.com/fookwood/Launcher3
我的目标是将位图或 PNG 文件设置为普通应用程序图标上方的叠加层。但是我找不到 google 最初在 "All Apps View" 中设置应用程序图标的区域。有人知道具体在哪里看吗?
已经自己找到了。对于所有想知道它的人。有一个 class 叫做 IconCache.Java。
/**
* Fill in "application" with the icon and label for "info."
*/
public synchronized void getTitleAndIcon(AppInfo application, LauncherActivityInfoCompat info,
HashMap<Object, CharSequence> labelCache) {
CacheEntry entry = cacheLocked(application.componentName, info, labelCache,
info.getUser(), false);
application.title = entry.title;
application.iconBitmap = overlay(entry.icon,BitmapFactory.decodeResource(mContext.getResources(), R.drawable.overlay_green));
//application.iconBitmap = entry.icon;
application.contentDescription = entry.contentDescription;
}