Android 自定义View 需要知道的几点

    1、让View支持wrap_content

       这是因为直接继承View或者Viewgroup的控件,如果不在onmesure对wrap_content做特殊处理,那么当外界在布局中使用wrap_content时就无法达到预期的效果。

    2、如果有必要,让你的View支持padding

       这是因为直接继承View的控件,如果不在draw方法中处理padding,那么padding属性是无法起作用的。另外,直接继承自ViewGroup的控件需要在onMeasure和onLayout中考虑padding和子元素的margin对其造成影响,不然会导致padding和子元素的margin失效。

    3、尽量不要在View中使用Handler,没必要

      这是因为View内部本身提供了post系列的方法,完全可以替代Handler的作用。

    4、View中如果有线程或者动画,需要及时停止。

       如果有线程或者动画需要停止时,那么onDetachedFromWindow是一个很好的时机。当包含次View的activity退出或者当前View被remove时,View的onDetachedFromWindow方法会被调用,和此方法对应的是onAttachedToWindow.

      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值