自定義View的分類:
- 繼承View重寫onDraw方法
- 繼承ViewGroup派生出特殊的layout
- 繼承特定的View(比如TextView)
- 繼承特定的ViewGroup(比如LinearLayout)
自定義View需要注意的事項
- 讓View支持Wrap_content
如果不在onMeasure中支持wrape_content,那么在布局中使用wrape_content效果等同于match_content
- 如果有必要讓view支持padding
直接繼承 view的控件如果不再draw方法里處理padding,那么padding屬性將不起作用
- 盡量不要在view中使用handler,沒有必要
view本身提供了post系列方法,完全可以代替handler,除非很明確需要handler來發送消息
- view中如果有線程或者動畫,需要及時停止
- view帶有滑動嵌套情形時,需要處理好滑動沖突