1. 程式人生 > >android--------自定義控件(一)

android--------自定義控件(一)

有時 價值 ondraw 自己實現 IE viewgroup 實現 沒有 com

在我們平常的Android開發中經常和控件打交道,有時Android提供的控件未必能滿足業務的需求,這個時候就需要我們實現自定義一些控件

自定義控件可以設計出很多你想要的功能和模塊,在開發中是很重要的一部分。

自定義View的價值

  • 能夠做到基礎控件無法做到的效果,為應用的表現增色;

  • 在多個應用並行開發的團隊,將公用的交互效果提取成自定義控件,方便復用,減少不必要的重復勞動;

  • 將控件的內部邏輯封裝在自定義View中,便於應用內解耦;

流程圖:

技術分享圖片

自定義控件兩種方式:

1. 繼承ViewGroup

自定義ViewGroup一般是利用現有的組件根據特定的布局方式來組成新的組件,大多繼承自ViewGroup或各種Layout,包含有子View。

例如:ViewGroup、LinearLayout、FrameLayout、RelativeLayout等。

2. 繼承View

在沒有現成的View,需要自己實現的時候,就使用自定義View,一般繼承自View,SurfaceView或其他的View,不包含子View。

例如:View、TextView、ImageView、Button等。

View的三大核心方法onMeasure、onLayout、onDraw

  • onMeasure:用於測量視圖的大小;

  • onLayout:用於給視圖進行布局;

  • onDraw:用於對視圖進行繪制;

這三個方法很重要,下一篇博客在詳細講解

android--------自定義控件(一)