自定义View

自定义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带有滑动嵌套情形时,需要处理好滑动冲突

你可能感兴趣的:(自定义View)