我想从用户的联系人中显示一个循环头像作为通知的大图标,就像收到文本或邮件一样.当我将大图标设置为该联系人的图像时,会导致一个方形图标.
我正在寻找看起来像顶级图标(方形头像)的东西,看起来像电子邮件通知(圆形头像)上的大图标:
我如何做到这一点?
解决方法
由于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,bitmap.getWidth(),bitmap.getHeight()); final RectF rectF = new RectF(rect); paint.setAntiAlias(true); canvas.drawARGB(0,0); paint.setColor(color); canvas.drawOval(rectF,paint); paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)); canvas.drawBitmap(bitmap,rect,paint); bitmap.recycle(); return output; }