Android 自定义控件需要掌握哪些

来源:互联网 发布:数据采集仪是什么 编辑:程序博客网 时间:2024/06/10 15:52

下面写的不分先后顺序:
自定义View 里面方法的调用顺序
http://blog.csdn.net/mchenys/article/details/50408819

Android View的生命周期
http://www.jianshu.com/p/08e6dab7886e

下面会更新相关的博客
  1. 应该掌握Androd的动画,属性动画,常用的四种动画
    Android应用开发之所有动画使用详解
    http://blog.csdn.net/yanbober/article/details/46481171
    浅析Android动画(二),属性动画高级实例探究
    http://www.cnblogs.com/wondertwo/p/5312482.html
    Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法
    http://blog.csdn.net/guolin_blog/article/details/43816093
    属性动画的坐标
    http://www.lightskystreet.com/2014/12/10/propertyview-anim-practice/
    Android 属性动画使用解析-属性动画高级用法
    http://www.sunnyang.com/401.html
    http://blog.csdn.net/lmj623565791/article/details/38067475
  2. Android的事件分发机制
  3. 自定义View常用的一些方法
  4. 自定义ViewGroup
自定义ViewGroup时,需要重写onMeasure和onLayout方法1、onLayout原理及源码解析:源码解析Android中View的layout布局过程 http://blog.csdn.net/iispring/article/details/50366021http://legendmohe.net/2015/05/25/onmeasure%E5%92%8Conlayou/**  * 就是当前的ViewGroup距离父控件的,左上右下的距离  * @param changed  * @param l  * @param t  * @param r  * @param b  */@Overrideprotected void onLayout(boolean changed, int l, int t, int r, int b)2、在自定义View时通常会去重写View的onMeasure方法去得到控件的宽和高,在onMeasure方法中,MeasureSpec是一个常用的类,MeasureSpec学习心得http://chenfuduo.me/2016/04/07/MeasureSpec%E5%AD%A6%E4%B9%A0%E5%BF%83%E5%BE%97/3、在onMeasure方法里面需要支持EXACTLY、AT_MOST两种http://blog.csdn.net/lmj623565791/article/details/38339817http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/1002/3540.html /**         * 区别: measureChild与measureChildren         * measureChild 是测量单个View,如果使用循环来测量,只要是当前ViewGroup下不管是可见还是不可见的都进行测量         *         * 用measureChildren() 方法来简化onMeasureChild(widthMeasureSpec,heightMeasureSpec)上面的代码         * 这个方法将自动遍历所有子view并让它们测量自己。这个方法还可以忽略那些visibility 设置为gone的子view,因此它支持visibility gone标志         *         */目前,margins还不能工作。如果我们想支持margins,可以在我们容器的onLayout 里面添加它们而不是在测量一个子view的时候去考虑margins我们就能使用setMeasuredDimension()来设置容器的宽度和高度
  1. 触摸相关工具类全解
  2. 自定义View的一些常用
Android 自定义View onMeasure方法的实现(真真理解)http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/1102/1891.htmlonMeasure方法中使用resolveSizeAndState,支持2.2http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0316/1593.html

还有一些自定义控件的例子,持续更新:

这里写代码片
0 0
原创粉丝点击