IllegalArgumentException"path must be convex"

关于谷歌play的图标背景为黑色问题

/*Bitmap.Config config =

                drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888

                        : Bitmap.Config.RGB_565;*/

        Bitmap.Config config = Bitmap.Config.ARGB_4444;

当报错if (!convexPath.isConvex()) throw new IllegalArgumentException("path must be convex");

将drawable改为bitmap即可

public static Bitmap getBitmapFromDrawable(@NonNull Drawable drawable) {

        final Bitmap bmp = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);

        final Canvas canvas = new Canvas(bmp);

        drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());

        drawable.draw(canvas);

        return bmp;

    }

将icon.setBackground 改成icon.setImageBitmap

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。