我想将用户联系人的圆形头像显示为通知的大图标 - 就像收到短信或邮件时一样。当我将大图标设置为该联系人的图像时,它会生成一个方形图标。
我正在寻找看起来像顶部图标(方形头像),看起来像电子邮件通知上的大图标(圆形头像)的东西:
如何让它变圆?
最佳答案
由于 setLargeIcon()
接受一个 Bitmap
,您需要做的就是从源创建一个循环的 Bitmap
。
以下是来自 Create a circle bitmap in Android 的代码(我自己还没试过)。
private Bitmap getCircleBitmap(Bitmap bitmap) {
final Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),
bitmap.getHeight(), Bitmap.Config.ARGB_8888);
final Canvas canvas = new Canvas(output);
final int color = Color.RED;
final Paint paint = new Paint();
final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
final RectF rectF = new RectF(rect);
paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(color);
canvas.drawOval(rectF, paint);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
canvas.drawBitmap(bitmap, rect, rect, paint);
bitmap.recycle();
return output;
}
关于android - 使通知大图标圆形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28280615/