如何在Android Studio上制作圆形图像视图

如何在Android Studio上制作圆形图像视图,android,imageview,Android,Imageview,我知道有很多关于这个问题的例子,但我仍然无法完成以下内容,有没有一种简单的方法可以在android studio上创建circle ImageView?您可以使用外部库您不需要使用任何外部库来创建ImageView circle。使用此类使您的ImageView成为圆形 并在Java文件中使用ImageView your_imageview.setImageBitmap(new RoundImage( getApplicationContext()).transform(your_image_b

我知道有很多关于这个问题的例子,但我仍然无法完成以下内容,有没有一种简单的方法可以在android studio上创建circle ImageView?

您可以使用外部库

您不需要使用任何外部库来创建ImageView circle。使用此类使您的ImageView成为圆形

并在Java文件中使用ImageView

your_imageview.setImageBitmap(new RoundImage(
getApplicationContext()).transform(your_image_bitmap));
使用以下代码为ImageView创建位图到圆形位图:

your_imageview.setImageBitmap(new RoundImage(
getApplicationContext()).transform(your_image_bitmap));
public static Bitmap getRoundedRectBitmap(Bitmap bitmap, int pixels) {
        Bitmap result = null;
        try {
            result = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);
            Canvas canvas = new Canvas(result);

            int color = 0xff424242;
            Paint paint = new Paint();
            Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());

            paint.setAntiAlias(true);
            canvas.drawARGB(0, 0, 0, 0);
            paint.setColor(color);
            int w = bitmap.getWidth();
            int h = bitmap.getHeight();

            int pl = 1;
            int pr = 1;
            int pt = 1;
            int pb = 1;

            int usableWidth = w - (pl + pr);
            int usableHeight = h - (pt + pb);

            int radius = Math.min(usableWidth, usableHeight) / 2;
            int cx = pl + (usableWidth / 2);
            int cy = pt + (usableHeight / 2);
            canvas.drawCircle(cx, cy, radius, paint);
            paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
            canvas.drawBitmap(bitmap, rect, rect, paint);

        } catch (NullPointerException e) {
        } catch (OutOfMemoryError o) {
        }
        return result;
    }