Android开发笔记之自定义view篇(入门一简单的TextView)

很久没有更新博客,之前项目很急,一直很忙,最近才闲下来,之前对自定义View并不是很熟悉,也写过一些,但是只是了解个过程,所以自己想重新的对view的绘制机制钻研明白,就从最简单的TextView开始吧!,这篇博客带你了解一个自定义view的简单流程

上面的第一个控件是自定义实现的,下面的是设置背景原生的TextView

自定义View需要重写onDraw()方法,当然还有很多其他方法,但是这个是最重要的方法,需要绘制你的view显示内容,

//系统会自动的调此方法来实现原生控件的功能,但是在调用之前之后我们都可以实现自己的逻辑
protected void onDraw(Canvas canvas){
        //调用之前实现自己的逻辑,对于TextView来说即是在绘制文本内容之前
         super.onDraw(canvas)
        //调用之后实现自己的逻辑对于TextView来说即是在绘制文本内容之后
}

我们在构造方法中完成必要的初始化工作,比如画笔等等

paint = new Paint();  paint.setColor(getResources().getColor(android.R.color.holo_blue_light));
paint.setStyle(Paint.Style.FILL);
paint1 = new Paint();
paint1.setColor(Color.YELLOW);
paint1.setStyle(Paint.Style.FILL);

要实现上面的效果,我们需要绘制两个矩形,一个外层矩形,一个内层矩形

canvas.drawRect(0,0,getMeasuredWidth(),getMeasuredHeight(),paint);       canvas.drawRect(10,10,getMeasuredWidth()-10,getMeasuredHeight()-10,paint1);
//完成之后要记得保存canvas画布这些属性
canvas.save();
//然后再调用父类的构造方法完成绘制
super.onDraw();
//取出画布的状态属性
canvas.restore();
//

一个简单的自定义view就这么实现了,其实就是这么简单,坐下来慢慢的静下心来研究,其实没有那么难

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值