Skip to content

Instantly share code, notes, and snippets.

@rainbow23
Created September 3, 2025 05:16
Show Gist options
  • Save rainbow23/c1360d7ccfeadf9d7ae0bd1e6245252b to your computer and use it in GitHub Desktop.
Save rainbow23/c1360d7ccfeadf9d7ae0bd1e6245252b to your computer and use it in GitHub Desktop.
import android.content.Context;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.drawable.AdaptiveIconDrawable;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.util.TypedValue;
import androidx.core.content.ContextCompat;
public class IconUtils {
public static BitmapDrawable adaptiveToBitmap(Context context, Drawable drawable, int sizeDp) {
int sizePx = (int) TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP,
sizeDp,
context.getResources().getDisplayMetrics()
);
Bitmap bitmap = Bitmap.createBitmap(sizePx, sizePx, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
drawable.setBounds(0, 0, sizePx, sizePx);
drawable.draw(canvas);
return new BitmapDrawable(context.getResources(), bitmap);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment