一文完全了解Android自定义控件(一)

AndroidView体系

了解android的View体系,才知道后面咱们步骤写Android自定义控件作准备。android

要明白ViewViewGroupmarkdown

要能判断经常使用的控件是属于View仍是ViewGrop,接着才有本身要写的控件属于View仍是ViewGroupspa

为何呢?code

由于自定义View跟自定义ViewGroup的步骤,套路不同。orm

Android自定义控件类型

Android自定义控件呢,咱们能够分为三类:it

  • 自定义View(包括对现有View的修改);
  • 自定义ViewGrop(包括对现有ViewGroup的修改);
  • 自定义ViewGrop;

自定义组合控件例子

自定义组合控件,其实就是把多个如今有控件整合在一块儿,把复杂的操做封装起来,把简单的操做暴露出去。io

好比说咱们要作如下这个控件:table

固然能够重头开始绘制,从无到有。class

咱们也可使用两个button + 一个TextView或者EditText组合起来。import

而后把复杂的逻辑封装起来,好比说,上限和下限的判断,好比说增长梯度,好比说阀值,达到必定的值会改变颜色之类的。这些复杂的操做封装起来。对外只暴露数据变会的回调通知和设置数值/获取数值的方法便可。

别人拿到你的控件,不关心怎么实现,只关心使用便可。

自定义View例子

自定义View,什么是View,从控件的角度来理解,咱们能够这样判断。若是控件里没有孩子的,没有子View的,就是View,好比说Button,TextView,ProgressBar,ImageView,这些都是View.

自定义ViewGroup例子

自定义ViewGrop,什么是ViewGroup,用来包含孩子的,控制子View的摆放的,是容器。ViewGrop里还能够包含着ViewGroup和View。好比说,LinearLayout,RetiveLayout,RecyclerView,ListView,ViewPager...这些都是ViewGrop。

好啦,这个只作了解,详情请同窗们看接下来的文章吧!相信你看完之后,会对自定义控件有信心的,加油!

相关文章
相关标签/搜索