初识Android自定义View----画一个圆

新建一个CircleView类

public class CircleView extends View {

    private Paint mPaint;
    private Resources resources = getResources();

    //在java代码中配置View时调用此构造方法
    public CircleView(Context context) {
        super(context);
        init();
    }
    
    //在xml中配置View时调用此构造方法
    public CircleView(Context context,AttributeSet attrs){
        super(context, attrs);
        init();
    }
    
    public void init() {
        //初始化画笔
        mPaint = new Paint();
        //设置画笔颜色
        mPaint.setColor(resources.getColor(R.color.circleColor));
        //设置画笔宽度
        mPaint.setStrokeWidth(5f);
        //设置画笔模式为填充
        mPaint.setStyle(Paint.Style.FILL);
    }

    @Override
    public void onDraw(Canvas canvasc){
        super.onDraw(canvasc);

        //获取控件的宽高
        int width = getWidth();
        int height = getHeight();

        //设置圆的半径为宽高最小值的二分之一
        int r = Math.min(width,height)/2;

        //调用Canvasc.drawCircle画圆,参数设置圆心x坐标,y坐标,半径,画笔
        canvasc.drawCircle(width/2,height/2,r,mPaint);
    }
}

在xml文件中像平时添加button控件一样添加自己新建的View
但是格式有一定规范, (包名.CircleView)

<com.example.shaobo.myapplication.CircleView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

yunx
运行成功
第一个自定义View完成啦

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值