Android自定义View流程总结以及简单例子

一、     自定义View的技术难度在于:

自定义View是一个综合的技术体系,涉及了View的层次结构、事件分发机制和View的工作原理

等技术细节。

二、自定义View的分类:

主要分为4类,也可以说成是自定义View的四种做法。

1、extends View后重写onDraw()方法

这一类主要用于实现一些不规则的效果,也就是说这种效果不方便通过布局的组合方式来实现,往往需要静态或者动态显示一些不规则的图形,所以就需要通过绘制的方式来实现,即重写onDraw()方法。采用这种方法需要自己支持wrap_content,padding也需要自己处理。

2、extends ViewGroup派生特殊的layout

这种方法主要用于实现自定义的布局,就是说除了LinearLayout、RelayiveLayout、FramLayout这几种系统的布局之外,我们重新定义一种新布局,当某种效果看起来很像几个View组合在一起的时候,可以采用这种方法来实现。使用这种方法的时候需要注意的是:ViewGroup的测量和布局这两个过程,并同时处理子元素的测量和布局过程。

3、extends 特定的View(比如TextView、Button)

这种方法就比较常见,适用于一些效果比较简单的自定义View,一般是用于扩展某种已有的View的功能,比如TextView,这种方法不需要自己支持wrap_content和padding等。

4、extends 特定的ViewGroup(比如LinearLayout)

这种方法也属于比较常见的,当某种效果看起来很像几种View组合在一起的时候,可以采用这种方法来实现。采用这种方法不需要自己处理ViewGroup的测量和布局这两个过程。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值