一文完全瞭解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。

好啦,這個只作瞭解,詳情請同窗們看接下來的文章吧!相信你看完之後,會對自定義控件有信心的,加油!

相關文章
相關標籤/搜索