自定義控制項是判斷android工程師是否是高階工程師的一項基礎指標,如果你想拿到更高的薪水,那就必須的完全掌握這項技能。如何判斷自己是否完全掌握自定義控制項?其實很簡單,專案中遇到需要自定義控制項的模組是否產生過恐慌,如果你能應對自如,那說明你已經完全掌握了,若對你會造成恐慌也不必擔心,閱讀完這篇部落格,我會教大家乙個應對自如的方法!
什麼是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。
Android自定義控制項之自定義組合控制項(三)
前兩篇介紹了自定義控制項的基礎原理android自定義控制項之基本原理 一 自定義屬性android自定義控制項之自定義屬性 二 今天重點介紹一下如何通過自定義組合控制項來提高布局的復用,降低開發成本,以及維護成本。1.第一種方式 直接在每個xml布局中寫相同的標題欄布局 這種方式沒有任何布局復用的...
Android自定義控制項之自定義組合控制項
前兩篇介紹了自定義控制項的基礎原理android自定義控制項之基本原理 一 自定義屬性android自定義控制項之自定義屬性 二 今天重點介紹一下如何通過自定義組合控制項來提高布局的復用,降低開發成本,以及維護成本。1.第一種方式 直接在每個xml布局中寫相同的標題欄布局 這種方式沒有任何布局復用的...
Android之自定義控制項
1.繼承view,view可以分為三種,基本的view,容器view,布局view 典型的view 如 imageview textview 容器類的view 如 listview gridview viewgroup 布局類的view 如 framelayout gridview linealay...