赞
踩
算起来,接触自定义View也有大半年时间了,一直没机会好好总结一下,好记性不如烂笔头,遂决定从今天开始系统的整理相关知识。
还是那句话,小女不才,入行时间短,火候尚浅,有说错的地方,还请各位侠士不吝赐教,在此谢过。(*≧▽≦*)
更多内容可查看:
(一)自定义View的分类
(二)自定义View的构造函数及自定义属性点击打开链接
(三)自定义View常用的方法(测量、绘制、位置)
(四)自定义View的具体实现
(五)事件分发机制
一、自定义View的分类
关于自定义控件的分类,看了很多资料以后,下面两种分类法是我个人比较认同的(非我本人原创)。
①按照所继承的基类划分
继承View:这种自定义控件最大的特点是不包含子控件,当我们需要定制一个不同于原生控件且有“个性”的控件(如圆形头像、水波进度条)时,我们采用这种方式,很多情况下可以采用其他方式代替,比如圆形头像完全可以使用imageView+圆形背景图,但后者往往内存消耗过大,制作素材麻烦。
继承ViewGroup:这种自定义控件,常常利用现有组件(各种layout)的特定布局方式来组成新的控件。如流式标签。
②按照实现的方式划分
第二种分类方式较之前者,更注重于自定义View的实现方式。
自绘控件:顾名思义,这一类自定义控件注重控件本身的特性,如形状、动画效果等,一般继承View(但也不绝对,看具体需求),重写onDraw()方法完成绘制,具体绘制的过程请参照 (三)自定义View常用的方法(测量、绘制、位置)
组合控件:组合控件的特点是使用原生控件组合成新的控件。
继承控件:继承控件的特点是利用了父控件本身的一些特性,在此基础上添加新的功能。充分利用已有资源,避免了重复的开发。
掌握自定义控件的分类,让我们面对具体的需求能快速而准确的决定使用哪一种定义方式,是学习自定义控件最基础的一步。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。