读书笔记--View的工作原理(二)
来源:互联网 发布:势不可挡 网络剧 编辑:程序博客网 时间:2024/05/17 23:53
自定义View须知
1、让View支持wrap_content
这是因为直接继承View或者ViewGroup的控件,如果不在onMeasure中对wrap_content做特殊处理,那么当外界在布局中使用wrap_content时就无法达到预期的效果。
2、如果有必要,让你的View支持padding
这是因为直接继承View的控件,如果不在draw方法中处理padding,那么padding属性是无法起作用的。另外,直接继承自ViewGroup的控件,需要在onMeasure和onLayout中考虑padding和子元素的margin对其造成的影响,不然将导致padding和子元素的margin失效。
3、尽量不要在View中使用Handler,没必要
这是因为View内部本身就提供了post系列的方法,完全可以替代Handler的作用,当然除非你很明确的要使用Handler来发送消息。
4、View中如果有线程或者动画,需要及时停止,参考View#onDetachedFromWindow
这一条也很好理解,如果有线程或者动画需要停止时,那么onDetachedFromWindow是一个很好的时机。当包含此View的Activity退出或者当前View被remove时,View的onDetachedFromWindow方法会被调用,和此方法对应的是onAttachedToWindow,当包含此View的Activity启动时,View的onAttachedToWindow方法会被调用。同时,当View变得不可见时,我们也需要停止线程和动画,如果不及时处理这种问题,有可能会造成内存泄漏。
5、View带有滑动嵌套情景时,需要处理好滑动冲突
如果由华东冲突的话,那么要合适的处理滑动冲突,否则将严重影响View的效果,具体处理请跳转读书笔记–View的事件体系(三)
示例
@Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); //如果没有下面这四行代码,则在布局文件中,wrap_content与match_parent没有区别。 final int paddingLeft = getPaddingLeft(); final int paddingRight = getPaddingRight(); final int paddingTop = getPaddingTop(); final int paddingBottom = getPaddingBottom(); //上述这段代码的中心思想就是在绘制的时候,考虑到View四周的空白即可 //其中圆心和半径都会考虑到View四周的padding,从而做相应的调整。 ... }
- 读书笔记--View的工作原理(二)
- 读书笔记--View的工作原理(一)
- View的工作原理(二)----View的工作流程
- Android开发艺术探索读书笔记-View的工作原理(二)
- View的工作原理(二)
- View的工作原理(Android开发艺术探索读书笔记)
- 读书笔记—View的工作原理
- 读书笔记(4) View的工作原理
- Android——View的工作原理(二)
- View的工作原理(二)之 View的工作流程
- [Android] View 工作原理(二)
- View的工作原理————读书笔记
- View的工作原理(自定义View)
- View的工作原理(二)--从measure说View的测量流程
- View的工作原理(二)View的三大流程
- View工作原理(二)导致View重建原因
- View工作原理(二)导致View重建原因
- android- View工作原理(二)导致View重建原因
- Android 下如何创建文件夹在SD卡中
- yii2 mongodb 连接 mongo 副本集模式(复制集) 配置
- android(44)(常见的对话框、通知Notification)
- Android view中的requestLayout和invalidate方法
- 彻底解决 LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- 读书笔记--View的工作原理(二)
- SQLSTATE=42704
- 整合大量开源库项目(五)跳动的TextView JumpingBeans,良好体验的滚动栏ConvenientBanner
- Java 引用
- QT 整型数据转换为字符串类型
- UVA 11825(Hacker's Crackdown-集合)
- OWASP 10 大 Web 安全问题在 JEE 体系完全失控
- TR有关的几个术语
- 整合storm-hdfs过程中源码学习