Android 如何灵活的在代码里 给imageview设置圆角(工具类)

来源:互联网 发布:国际网络电话机 编辑:程序博客网 时间:2024/06/06 18:42

在实际开发中,往往需要给imageview设置图片,然后圆角显示,这里提供一个工具方法,非常实用


package com.xxx.util;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.PorterDuff;import android.graphics.PorterDuffXfermode;import android.graphics.Rect;import android.graphics.RectF;/** *  */public class ImageViewUtils {    /**     * 获取圆角位图的方法     *     * @param bitmap     *            需要转化成圆角的位图     * @param pixels     *            圆角的度数,数值越大,圆角越大     * @return 处理后的圆角位图     */    public static Bitmap toRoundCornerImage(Bitmap bitmap, int pixels) {        Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);        Canvas canvas = new Canvas(output);        final int color = 0xff424242;        final Paint paint = new Paint();        final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());        final RectF rectF = new RectF(rect);        final float roundPx = pixels;        // 抗锯齿        paint.setAntiAlias(true);        canvas.drawARGB(0, 0, 0, 0);        paint.setColor(color);        canvas.drawRoundRect(rectF, roundPx, roundPx, paint);        paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));        canvas.drawBitmap(bitmap, rect, rect, paint);        return output;    }}