此方法返回设备启动器图标,并且可以操纵drawables。但我想要的是使可绘制的圆形或可能圆角。
如果有可能,你能告诉我怎么做吗?
private Drawable mIcon;
public Drawable getIcon() {
if (mIcon == null) {
if (mApkFile.exists()) {
mIcon = mInfo.loadIcon(mContext.getPackageManager());
return mIcon;
} else {
mMounted = false;
}
} else if (!mMounted) {
// If the app wasn't mounted but is now mounted, reload
// its icon.
if (mApkFile.exists()) {
mMounted = true;
mIcon = mInfo.loadIcon(mContext.getPackageManager());
return mIcon;
}
} else {
return mIcon;
}
return mContext.getResources().getDrawable(android.R.drawable.sym_def_app_icon);
}
答案 0 :(得分:0)
您需要的是RoundedBitmapDrawable。该过程将如下所示:
mIcon
绘制到Bitmap
上(首先使用Bitmap
的参数创建mIcon
)Bitmap
变为RoundedBitmapDrawable
setCornerRadius(float cornerRadius)
上使用RoundedBitmapDrawable
为您提供所需的角落此时你应该有一个RoundedBitmapDrawable
来绘制图标,但是当它被调用draw(Canvas canvas)
时会有圆角: - )