رفقا سلام
امروز به ی چالش کوچولو برخورد کردم گفتم باهاتون شریک شم
اون چالش چی بود؟ گرد کردنlargeIcon در نوتیفیکیشن اما چطوری؟
ابتدا کدهای زیر رو به عنوان یک متد در کلاستون کپی کنید و کلاس هاشو ایمپورت کنین.
public static Bitmap getCircleBitmap(Bitmap bitmap) {
Bitmap output;
Rect srcRect, dstRect;
float r;
final int width = bitmap.getWidth();
final int height = bitmap.getHeight();
if (width > height){
output = Bitmap.createBitmap(height, height, Bitmap.Config.ARGB_8888);
int left = (width - height) / 2;
int right = left + height;
srcRect = new Rect(left, 0, right, height);
dstRect = new Rect(0, 0, height, height);
r = height / 2;
}else{
output = Bitmap.createBitmap(width, width, Bitmap.Config.ARGB_8888);
int top = (height - width)/2;
int bottom = top + width;
srcRect = new Rect(0, top, width, bottom);
dstRect = new Rect(0, 0, width, width);
r = width / 2;
}
Canvas canvas = new Canvas(output);
final int color = 0xff424242;
final Paint paint = new Paint();
paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(color);
canvas.drawCircle(r, r, r, paint);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
canvas.drawBitmap(bitmap, srcRect, dstRect, paint);
bitmap.recycle();
return output;
}
سپس میتونین به صورت زیر کاری کنین که largeIcon شما گرد بشه شبیه اپلیکیشن تلگرام:
چطوری؟(جای علامت سوال ادرس فایل مروبطه)
.setLargeIcon(getCircleBitmap(BitmapFactory.decodeResource(getResources(),R.drawable.؟؟؟)))
پیروز باشید