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.csdn.net/u010083327/article/details/56675807

發佈了27 篇原創文章 · 獲贊 10 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章