下面给大家一段代码作为工具类来直接使用如何将头像设为圆形。网上也有很多例子,作为个人来讲,我觉得有必要自己收藏一下
这里用到了MaskedImage抽象类,并用createMask()方法来设置形状,下面直接上代码
package com.example.sqgl.util;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.RectF;
import android.util.AttributeSet;
public class CircularImage extends MaskedImage {
public CircularImage(Context paramContext) {
super(paramContext);
}
public CircularImage(Context paramContext, AttributeSet paramAttributeSet) {
super(paramContext, paramAttributeSet);
}
public CircularImage(Context paramContext, AttributeSet paramAttributeSet,
int paramInt) {
super(paramContext, paramAttributeSet, paramInt);
}
public Bitmap createMask() {
int i = getWidth();
int j = getHeight();
Bitmap.Config localConfig = Bitmap.Config.ARGB_8888;
Bitmap localBitmap = Bitmap.createBitmap(i, j, localConfig);
Canvas localCanvas = new Canvas(localBitmap);
Paint localPaint = new Paint(1);
localPaint.setColor(-16777216);
float f1 = getWidth();
float f2 = getHeight();
RectF localRectF = new RectF(0.0F, 0.0F, f1, f2);
localCanvas.drawOval(localRectF, localPaint);
return localBitmap;
}
}
在xml 中进行注册设置圆形的大小,其中包名要对应
<com.example.sqgl.util.CircularImage
android:id="@+id/imageView11"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_centerInParent="true"
/>
在Activity中findViewById并且设置图片与imageView用法相同
imageView11=(CircularImage) findViewById(R.id.imageView11);
imageView11.setImageResource(R.drawable.user);
下面面是效果图