简单绘制圆形头像自定义View

自定义View重写onDraw画

package com.example.administrator.myapplication;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapShader;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Shader;
import android.support.annotation.Nullable;
import android.util.AttributeSet;
import android.view.View;

/**
 * Created by Administrator on 2018/9/18 0018.
 */

public class MYview2 extends View {
    public MYview2(Context context) {
        super(context);
    }

    public MYview2(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
    }

    public MYview2(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    public MYview2(Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) {
        super(context, attrs, defStyleAttr, defStyleRes);
    }
    Paint o= new Paint(Paint.ANTI_ALIAS_FLAG);
    Bitmap mBitmap=null;
    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
       if(mBitmap!=null){
        BitmapShader mBitmapShader = new BitmapShader(mBitmap,
                Shader.TileMode.REPEAT, Shader.TileMode.REPEAT);
        o.setShader(mBitmapShader);
        canvas.drawCircle(300, 300, 200, o);
       }
    }
    public void setimage(Bitmap mBitmap){
        this.mBitmap=mBitmap;
    }

}

主布局引用


调用方法设置

 MYview2  viewById = (MYview2) findViewById(R.id.kkk);
            Bitmap mBitmap = BitmapFactory.decodeResource(getResources(),
            R.mipmap.ic_launcher_round);
        viewById.setimage(mBitmap);

还可以用第三方框架哦
https://github.com/hdodenhof/CircleImageView

显示效果

简单绘制圆形头像自定义View_第1张图片
image.png

你可能感兴趣的:(简单绘制圆形头像自定义View)