android:自定义控件时,需要的那个ondraw()方法具体是怎么绘制的?

android:自定义控件时,需要的那个ondraw()方法具体是怎么绘制的?
因为不了解现在自定义控件的知识,所以请教大神。。。

4个回答

你好好读读《Android群英传》或者《Android开发艺术探究》吧!这个三言两语讲不清楚

自定义控件我认为分为2类:
1、完全自定义
你只需要继承View即可,然后在draw(canvas)中用canvas来进行绘制,这个需要你掌握android.graphics包下的常用绘制类。利用canvas,没有什么效果是你不能实现的。
而且系统控件本质也是用canvas来进行绘制的。
2、继承现有控件
比如继承RelativeLayout,然后在构造函数中,将xml渲染到RelativeLayout容器中,View.inflate(context,layoutId,true).

onDraw(Canvas canvas)
用Canvas的drawxxx方法可以各种图形,或者写字也行,需要传入一个Paint,new一个就可以,可以设置Paint的颜色,画笔粗细,字体大小等等。。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐