在前面的文章中我们已经学习了Android一些常用布局的基本用法,可以满足一些开发的基本的需要,但如果系统自带的控件无法满足我们的需求时,我们可不可以自定义一个控件呢?答案是肯定的,在学习自定义控件之前,我们先来关注一下,以前学习的那些基本控件和布局的继承结构。
从上图中,可以看到我们所有的控件都是直接或者间接继承View的,所有的布局都是直接或者间接继承自ViewGroup的。View是Android中最基本的一种UI组件,它可以在屏幕上绘制一块矩形区域,并能响应这块区域的各种事件,因此,我们使用各种控件其实就是在View的基础之上又添加了各自特有的功能。而ViewGoup是一个用于放置控件和布局的容器。
自定义控件主要包括三种类型:1.自定义混合组件 2.自定义View 3.自定义ViewGroup
自定义组合控件
自定义组合控件,其实就是把多个现在有控件整合在一起,把复杂的操作封装起来,把简单的操作暴露出去。
自定义View
就是类似于TextView这些控件,里面不在包含其他子控件。
自定义ViewGroup
类似于一个容器,如LinearLayout等,在里面会含有其他子控件,用来摆放这些子控件的位置。