如何在android中制作完整的圆形图像视图

时间:2013-01-06 06:42:22

标签: android android-layout imageview android-canvas

  

可能重复:
  How to make an image fit into a circular frame in android

我想要一个360度圆形的Image View,我在stackoverflow上找到了相关的解决方案,但它们都在图像视图中产生了圆角。但我想要完整的圆形图像视图。

对于圆角图像视图链接是:

任何想法。

2 个答案:

答案 0 :(得分:33)

获取位图:

Bitmap bitmap = getthebitmapyouwanttoshowinacirclefromsomewhere;
Bitmap circleBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);

使用着色器:

BitmapShader shader = new BitmapShader (bitmap,  TileMode.CLAMP, TileMode.CLAMP);
Paint paint = new Paint();
        paint.setShader(shader);

画画布;

Canvas c = new Canvas(circleBitmap);
c.drawCircle(bitmap.getWidth()/2, bitmap.getHeight()/2, bitmap.getWidth()/2, paint);

设置图片:

myImageView.setImageBitmap(circleBitmap);

答案 1 :(得分:0)

创建一个位图,然后在其画布上绘制,然后将此位图添加到imageview或按钮或任何你想要的位置。

创建位图:

Bitmap bmp = Bitmap.createBitmap(width, height, config);

在位图画布上绘图

Canvas c = new Canvas(bmp);
c.drawCircle(cx, cy, radius, paint)

设置为imageview

img.setBackgroundDrawable(new BitmapDrawable(bmp));