建网站后如何运营,wordpress现在流行吗,去哪里找空间做网站,wordpress生成app插件http://blog.csdn.net/lfdfhl/article/details/51671038 深入探讨Android异步精髓Handler 站在源码的肩膀上全解Scroller工作机制 Android多分辨率适配框架#xff08;1#xff09;— 核心基础 Android多分辨率适配框架#xff08;2#xff09;— 原理剖析 Android多分辨率…http://blog.csdn.net/lfdfhl/article/details/51671038 深入探讨Android异步精髓Handler 站在源码的肩膀上全解Scroller工作机制 Android多分辨率适配框架1— 核心基础 Android多分辨率适配框架2— 原理剖析 Android多分辨率适配框架3— 使用指南 自定义View系列教程00–推翻自己和过往重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onLayout源码详尽分析 自定义View系列教程04–Draw源码分析及其实践 自定义View系列教程05–示例分析 自定义View系列教程06–详解View的Touch事件处理 自定义View系列教程07–详解ViewGroup分发Touch事件 自定义View系列教程08–滑动冲突的产生及其处理 PS如果觉得这个系列的每篇文章太长那就直接看视频吧 你和我可能相似的感受 路上的司机都知道自定义View有三个重要的步骤measurelayoutdraw。 关于这三个玩意我们听得太多太多了平常工作也基本上是这么按部就班的。 可是有一天我们或许会发现许多关于自定义View的开发技术我们仅仅是掌握了常见的用法但是没有去深入学习过许多问题一知半解知其然而不知其所以然。比如 为什么父View影响到了子View的MeasureSpec的生成为什么自定义一个View在布局时将其大小设为wrap_content但其实际却是match_parent的效果子View的specMode和specSize生成的依据是什么为什么子View对于ACTION_DOWN返回false,系统就不会将ACTION_MOVE和ACTION_UP派发给该子View为什么子view对于Touch事件处理返回true那么其上层的ViewGroup就无法处理Touch事件View的滑动冲突是怎么产生的又该怎么处理为什么有时requestDisallowInterceptTouchEvent()会失效这七个葫芦娃之前也一直困扰着我我就去找资料看从博客园到CSDN从stackoverflow到EOE论坛从百草园到三味书屋搜了一大筐沮丧的发现这些文章大同小异只举个简单的例子很少研究为什么人云亦云文章里的内容根本没有去验证和深究就发出来了或者避重就轻展示简单的Demo直接把难点给绕过去了文章零零散散不成体系……每次看完这些文章觉得还是晕头转向稀里糊涂原本就不多的学习动力和勇气也消失殆尽了。这可能就是《自定义View——从入门到放弃》的剧本吧我们欲求不满欲罢不能——想搞懂却又觉得难想放弃又觉得舍不得。看了那么多文章依旧不能解答原来的疑惑就像听过了许多大道理依旧不过好这一生。 每当这个时候我都在想要是有一个介绍自定义View的系列教程该有多好呀要是有一个图能把繁杂的源码流程梳理得清清楚楚的那该有多好呀 可是在反复的搜索之后我的愿望依旧落空了没有人给我准备好我需要的东西。当我想安慰自己再等等的时候我猛地想起风韵犹存的郭大婶说的那句话每当你在感叹如果有这样一个东西就好了的时候请注意其实这是你的机会。 是啊你怎么总是在期待别人把东西洗得干干净净摆得整整齐齐地放在你面前呢 对啊自己动手实现这个期待难道不是一个最好的学习过程么 嗯哼想到这里我决定了要自己梳理自定义View而且要把它们弄成一个系列的。 自定义View系列教程 既然要重新学习自定义View那就不能再走老路了。所以这次我都是从源码开始的从源码里寻找那些解开困惑的良方。在看完源码之后我怕脑子笨过几天又忘记了于是我又着手画流程图。印象最深的是画ViewGroup的dispatchTouchEvent()流程图端午节在家画了一天。我以前特别讨厌画流程图觉得花拳绣腿没有实际的用处。通过这些段时间我才认识到自己的无知其实画流程图是对代码的理解和逻辑的分析是非常有帮助的只要你能画出对应的流程图来那么说明你是正真的理解了画完流程图之后我就开心地睡觉了一觉起来发现有的东西又变得模糊了反而是梦里的美女清晰得很连脖子后面有颗痣都还记得无耻啊无耻好吧我只好使出我的杀手锏了———写博客每次学习完对应的内容我就写一篇博客记录下来而且在记录的过程中再次梳理知识点同时进行详细得令人发指的记录比如在源码分析的时候哪几行是干嘛的都一一作了笔记。 最后形成了一个系列的文章 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onLayout源码详尽分析 自定义View系列教程04–Draw源码分析及其实践 自定义View系列教程05–示例分析 自定义View系列教程06–详解View的Touch事件处理 自定义View系列教程07–详解ViewGroup分发Touch事件 自定义View系列教程08–滑动冲突的产生及其处理 前后一共花了一个半月的时间战线稍微拉得有点长了。没办法基本每天都要加班有时候连周末都难于幸免。学习的时候只有安排在晚上回家之后了。这个过程有一点点痛苦还好还好坚持过来了。 多谢你们 小伙伴 博客是发到CSDN上的由于每篇文章都很长所以我有点担心没有人看。后来发现我的顾虑有点多余了不但有人看还有的人看得很仔细并且指出了文章中的笔误非常感谢 郭大婶 有几次看源码看得我有些郁闷情绪也不好我就硬着头皮继续看结果更悲剧了犯了低级的错误。好在郭大婶出手相救把我从悬崖边拉了回来。这也给我一个教训不要死钻牛角尖难以自拔状态不好的时候就换个思路或者出去走走或者听歌舒缓一下情绪或者打开E盘学习一下中日文化交流 Stay 开车多年的老司机了我有次在看源码拐弯的时候卡住了。多谢他帮我拖车拖完之后还给我讲Retrofit。 不打鸡血不喝鸡汤不念过往不畏将来。 期望有一天不用写代码也吃得起馒头。 或许我是一个存在主义者。 PS如果觉得这个系列的每篇文章太长那就直接看视频吧