android-关于圆形头像

来源:互联网 发布:软件测试前景如何 编辑:程序博客网 时间:2024/05/27 16:40

下面给大家一段代码作为工具类来直接使用如何将头像设为圆形。网上也有很多例子,作为个人来讲,我觉得有必要自己收藏一下

这里用到了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);

下面面是效果图




0 0
原创粉丝点击