您的位置:首页 > 移动开发 > Android开发

Android布局文件绘制原理学习总结 -- measure/layout/draw

2014-07-03 17:32 441 查看
1. View绘制流程的基本原理: http://blog.csdn.net/qinjuning/article/details/7110211

2. Android中自定义View的MeasureSpec使用:   http://hi.baidu.com/chunying031/item/25f5ec117fc93bfe756a8487

3. 布局文件/View与窗口的关系:  http://blog.csdn.net/qinjuning/article/details/7226787

4. Android中measure过程、WRAP_CONTENT详解以及xml布局文件解析流程浅析: 

http://blog.csdn.net/qinjuning/article/details/8051811

http://blog.csdn.net/qinjuning/article/details/8074262

5. Android中View(视图)绘制不同状态背景图片原理深入分析以及StateListDrawable使用详解: http://blog.csdn.net/qinjuning/article/details/7474827

6. Android中mesure过程详解: http://www.cnblogs.com/xilinch/archive/2012/10/24/2737178.html

7. Android中layout过程详解: http://www.cnblogs.com/xilinch/archive/2012/10/24/2737248.html

8. Android自定义View:http://blog.csdn.net/lmj623565791/article/details/24252901  , http://blog.csdn.net/lmj623565791/article/details/24300125 ,http://blog.csdn.net/lmj623565791/article/details/37567907 

9.Android视图绘制流程完全解析,带你一步步深入了解View:http://blog.csdn.net/guolin_blog/article/details/12921889http://blog.csdn.net/guolin_blog/article/details/16330267http://blog.csdn.net/guolin_blog/article/details/17045157http://blog.csdn.net/guolin_blog/article/details/17357967 

10. Android桌面悬浮窗进阶,QQ手机管家小火箭效果实现:http://blog.csdn.net/guolin_blog/article/details/16919859 

11. Android高级图片滚动控件,编写3D版的图片轮播器:http://blog.csdn.net/guolin_blog/article/details/17482089 

12. Android 高手进阶之自定义View,自定义属性(带进度的圆形进度条):http://blog.csdn.net/xiaanming/article/details/10298163 

13.如何使用Android自定义复合视图:http://blog.jobbole.com/71021/ 

做iOS开发的时候,经常自定义View,但是官方的建议是尽量使用系统的控件去组合自定义View,自己去设置绘制的时候并不是很多,而layout在iOS中也非常简单,因为坐标都是数字直接进行表示,所以即使在iOS开发中,自己基于scrollview去写gridview空间,包括回收重用机制的实现等,实现起来也很简单,所以在iOS中去自定义控件,最需要注意的事是接口的设计。而Android开发中UI系统并不是像iOS中那么直观,而且系统的layout进行布局时,会非常耗费资源,所以常需要自己去写自定义布局,甚至自定义view。

我们这边之前的Android团队写代码,基本都是布局文件堆积而成,一般的组合都很少使用,导致代码有些不够整齐,更没有做过自定义布局文件。这样做,一方面导致代码非常难以维护,另外一方面也会导致效率很低。几个月前开始学习android开发的时候,下了很多的Android UI类库,这些类库基本都是重写了onlayout和onmeasure方法,当时我觉得非常高大上,在加上团队中也没有人使用这种技术,就放置了下来。直到android weekly的一篇文章,让我觉得这个也不是很难。最近把这点东西学习了一下,并且实践了一段代码,终于搞明白是怎么回事了。总结一下,并反思一下自己学习android的几个误区:

1. 知识必须是英文的,这个由于之前做iOS开发的时候养成的习惯,最优秀的开源库最优秀的文章都是英文的,这个习惯让我很少看中文的知识,但是做Android之后,才发现这方面的文章,中文的要更适合,可能Android的开发者人群大,国内开发者的文章一点都不逊色,我这次学习基本是看中文博客完成的。

2. 官方文档和读书,这个习惯也是做iOS开发的时候养成的,这一点可能是google和apple不同的地方,apple对开发者非常友好,里面的guide和sample code都非常好,我也习惯了经常读一些iOS开发方面的书来提高自己,结果这两点也浪费我大量的时间。不得不说,android的官方guide写的很烂,不好理解,而且这方面的书也并没有让我觉得很好的,不如直接去看csdn上看相关的博客,反而能看到很多。书的话,android开发方面,要直接找讲框架讲源码的书,这样才能真正理解。

3. 看书理解就行了,不用动手。这个毛病,可能是我做iOS开发逐渐熟练之后养成的,看的多,但是动手太少,导致看似理解了,实际上没什么深的记忆

既然开始做了,就要把事情做好,这段时间,集中精力把Android开发的东西学好,不能再像之前那样浪费时间
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android自定义View
相关文章推荐