自定義View(一)自定義View的分類

         算起來,接觸自定義View也有大半年時間了,一直沒機會好好總結一下,好記性不如爛筆頭,遂決定從今天開始系統的整理相關知識。

       還是那句話,小女不才,入行時間短,火候尚淺,有說錯的地方,還請各位俠士不吝賜教,在此謝過。(*≧▽≦*)

       更多內容可查看:

       (一)自定義View的分類

       (二)自定義View的構造函數及自定義屬性點擊打開鏈接

       (三)自定義View常用的方法(測量、繪製、位置)

       (四)自定義View的具體實現

       (五)事件分發機制

       一、自定義View的分類

        關於自定義控件的分類,看了很多資料以後,下面兩種分類法是我個人比較認同的(非我本人原創)。

       ①按照所繼承的基類劃分 


        繼承View:這種自定義控件最大的特點是不包含子控件,當我們需要定製一個不同於原生控件且有“個性”的控件(如圓形頭像、水波進度條)時,我們採用這種方式,很多情況下可以採用其他方式代替,比如圓形頭像完全可以使用imageView+圓形背景圖,但後者往往內存消耗過大,製作素材麻煩。

       繼承ViewGroup:這種自定義控件,常常利用現有組件(各種layout)的特定佈局方式來組成新的控件。如流式標籤。


       ②按照實現的方式劃分

     

       第二種分類方式較之前者,更注重於自定義View的實現方式。

      自繪控件:顧名思義,這一類自定義控件注重控件本身的特性,如形狀、動畫效果等,一般繼承View(但也不絕對,看具體需求),重寫onDraw()方法完成繪製,具體繪製的過程請參照 (三)自定義View常用的方法(測量、繪製、位置)

      組合控件:組合控件的特點是使用原生控件組合成新的控件。

      繼承控件:繼承控件的特點是利用了父控件本身的一些特性,在此基礎上添加新的功能。充分利用已有資源,避免了重複的開發。

      掌握自定義控件的分類,讓我們面對具體的需求能快速而準確的決定使用哪一種定義方式,是學習自定義控件最基礎的一步。

   








發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章