Android进阶之自定义控件一

心灵鸡汤

自定义控件是判断Android工程师是否是高级工程师的一项基础指标,如果你想拿到更高的薪水,那就必须的完全掌握这项技能。如何判断自己是否完全掌握自定义控件?其实很简单,项目中遇到需要自定义控件的模块是否产生过恐慌,如果你能应对自如,那说明你已经完全掌握了,若对你会造成恐慌也不必担心,阅读完这篇博客,我会教大家一个应对自如的方法!


自定义控件全貌

  • 理解View和ViewGroup
  • 了解自定义控件的三大流程(measure、layout、draw)
  • View的事件拦截机制

理解View和ViewGroup

什么是View?从代码上看,View是Button、TextView等的基类,所以说View是一个抽象类,代表了一个控件。还有ViewGroup,从名字上来看,可以理解为控件组,但是ViewGroup继承自view,因此可以理解ViewGroup为一个容器,用于存放View,下面看一张图就可以理解View和ViewGroup之间的关系:

这里写图片描述

大致了解完View和ViewGroup之后,你肯定会疑问手机又是如何显示这些View的呢?首先我们来了解一下UI界面的架构是怎样的,如下图所示:

这里写图片描述

从我们的角度来看,我们能看见的是TitleView和ContentView,分别对应了标题栏和我们所编写的布局,手机能显示我们编写的界面首先的有一个Activity,每个Activity里面有包含了一个Window对象,在Android中Window对象通常有PhoneWindow实现,PhoneWindow将一个DecorView设置为整个应用窗口的根View。DecorView实质上是一个FrameLayout,触摸事件首先通过DecorView再传递给我们的View。

欢迎大家进一步学习自定义控件:http://blog.youkuaiyun.com/u010083327/article/details/56675807

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值