我有一个带有列表视图的屏幕的应用程序。在此列表视图中,我在每行显示不同的应用程序及其图像和名称(使用arraylist)。一个应用程序的Onclick(连续)它将启动该特定的应用程序。现在当有任何应用程序的更新我想在应用程序的图像上显示徽章。可以这样做吗?
我将图像存储为位图。有没有办法我可以添加徽章到位图(不是资源,但从网址获取)或任何方式在列表视图中显示徽章与arraylist。
答案 0 :(得分:1)
试试这个。您可能需要根据图像大小修改大小选项。我将它用于128x128图像。
public static Bitmap getOverlayedImage(Resources res, Drawable img1, Drawable img2) {
float den = res.getDisplayMetrics().density;
int dip = (int) (80 * den + 0.5f);
int sz = (int) (128 * den + 0.5f);
Drawable[] layers = new Drawable[2];
layers[0] = img1;
layers[1] = img2;
LayerDrawable layerDrawable = new LayerDrawable(layers);
layerDrawable.setLayerInset(1, dip, dip, 0, 00);
Bitmap b = Bitmap.createBitmap(sz, sz, Bitmap.Config.ARGB_8888);
layerDrawable.setBounds(0, 0, sz, sz);
layerDrawable.draw(new Canvas(b));
return b;
}
这样称呼:
getOverlayedImage(getResources(), drawable1, drawable2);
答案 1 :(得分:0)
有一个图书馆让你附上徽章: https://github.com/jgilfelt/android-viewbadger
您可以将徽章添加到包含图像的ImageView(或您正在使用的任何其他视图)。