[Android] View 的繼承關系


在 Android 所有的控件和 Layout 都有着一個父類 View 。Anroid 通過繼承的方式,對父類控件進行繼承,由此來在父類基礎上創造新的控件。

View


我們先看看 View 這個父類


Paste_Image.png

可以看到間接繼承的有100多個子類,不得不說 View 這個爹很成功(Object 斜眼)。

ViewGroup


我們先拿其中的 ViewGroup 來說吧


Paste_Image.png

可以看到大部分的 Layout 都繼承自 ViewGroup 。一個 ViewGroup 可以包含別的 View 或 ViewGroup 。所以一個視圖的根布局,通常是一個 ViewGroup 。

對於其中的 LinearLayout , RelativeLayout , GridLayout 等 Layout 大家應該都比較熟悉了。

但是看看里面還有一些控件,這些控件同樣有着包含別的 View 或 ViewGroup 的功能。比如 RecyclerView , AdapterView 。

可能你會問,這個 AdapterView 是什么玩意。其實這個是我們常用的 GridView, ListView 的父類,換句話說,GridView, ListView 也屬於 ViewGroup ,他們都能包含其他的 View 或 ViewGroup。相信你在使用 ListView 的時候一定在里面添加了一些控件的吧。

TextView


不得不說 TextView 也是一個強大的父類,很多的控件都繼承自它。


Paste_Image.png

其中常見的有 Button,EditText,CheckBox,RadioButton 等,我們發現啊。。貌似只要帶有文字的控件基本都來繼承自 TextView。這是他作為父類的特點。

ImageView


ImageView 帶有顯示圖片的特性,然而很少有控件需要這個特性,所以相對來說子類就比較少了。


Paste_Image.png

其中比較用的多的就是 ImageButton 了,現在 Android 還提供了原生的 FloatingActionButton 也是極好的。

總結


以上提出來說的三個子類是在整個 View 體系中比較重要的,其中以 ViewGroup 最為繁雜,派生類最多,而且其中有控件,有布局。TextView 則以子類控件繼承為主。ImageView 的話相對需求較少。

我們給出一個簡略圖,可以直觀的看到整個體系中常用類的繼承結構。


QQ截圖20160122141721.png

ps1:上圖包括直接子類和派生之類
ps2:如果想查看完整的繼承結構,請查看官方文檔


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM