تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ پوریا شفیعی
مقاله اموزشی(گرد کردن large Icon در Notification)
جامعه جاوا (اندروید) ایجاد شده در ۱۹ اردیبهشت ۱۳۹۹

رفقا سلام 

امروز به ی چالش کوچولو برخورد کردم گفتم باهاتون شریک شم

اون چالش چی بود؟ گرد کردن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.؟؟؟)))

پیروز باشید

یه روش دیگه اینکه شما میتونید آیکونتون رو داخل فتوشاپ بصورت گرد درست کنید

Reza Ahmadzadeh ۰۳ آبان ۱۳۹۹، ۲۲:۴۲