1、让View支持wrap_content属性
直接继承View或ViewGroup的控件,如果不在onMeasure中做处理,当控件设置wrap_content属性时无法达到预期效果。wrap_content属性会失效。
2、让View支持padding属性
直接继承View的控件,如果不处理padding属性,则padding会失效。如果继承ViewGroup的控件,还需要处理子元素的margin属性。
3、为了让控件使用更方便,尽量添加自定义属性。
4、如果View需要响应用户touch事件,需要处理好滑动冲突。
5、尽量不要在View中使用Handler,可以用post方法代替。
6、如果View中有子线程或者动画,要在onDetachedFromWindow中及时停止。
7、在onDraw方法中尽量不要创建临时对象,不要做任何耗时的操作,不要执行大数据量的循环操作。