Android 自定義View 總結


  Android系統本身給我們提供十分豐碩的組件讓我們實現包羅萬象的UI效果,與此同時,我們也能夠非常方便實現各種方法來實現各種強大的功能。通過繼承現有的UI控件,我們也能夠拓展現有的功能。我們也能夠完全自定義控件,實現Android系統所沒有的功能。自定義控件,對於Android初學者來說,是一個老大難的問題。其實,自定義控件沒有那么困難。與其說你在自定義一個view,倒不如說你在繪畫一個圖形。只有站到藝術的角度,才能創建有一個更好用戶體驗的控件。自定義控件,應該不是一些簡單API的堆砌,而應該結合現實中的繪圖方法,甚至結合ps的一些技巧,才能創造出更有用戶體驗的View。 

  就像我們寫文章一樣,合理適當的運用詞語,會為我們文章增色不少,而一味追求堆砌華麗的辭藻,則給人一個華而不實的感覺。與此類似,適當使用View,能極大的提升的用戶體驗,但一味的亂用自定義View則會有些畫蛇添足的感覺。一個讓用戶感到親切友好的控件,才是好控件。一個酷炫屌咋天控件,會或多或少給人一種華而不實感覺。況且,Android兼容性千差萬別,你難免無法保證您自定義的View在其他手機上達到想要的效果,一個好控件更是應該是以穩定性,健壯性為基礎。

  當然了,深入自定義View的本身過程,能幫助我們更加深入Android View繪制機制。同時,適當合理的使用自定義控件,達到一種卓越的用戶體驗,應該是我們每個Android人所夢寐以求的結果。

  通常而言,可以使用三種方法實現自定義控件

  1、繼承現成控件,進行拓展。

  2、組合現有控件。

  3、重寫View/ViewGroup實現全新的控件。

  最難就是第三鍾方法實現全新控件。

  其實實現全新的自定義控件,總結起來就那么幾步。

  Ⅰ、在OnMeasure()方法中,測量自定義控件的大小,使自定義控件能夠自適應布局各種各樣的需求。

  Ⅱ、在OnDraw()方法中,利用哼哈二將(Canvas與Paint)來繪制要顯示的內容。

  Ⅲ、在OnLayout()方法中來確定控件顯示位置。

  Ⅳ、在OnTouchEvent()方法處理控件的觸摸事件。

  相應的思維導圖如下:

 

   這就是我對自定義View的總結,本人才疏學淺,歡迎大家吐槽。


免責聲明!

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



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