写页面写着写着就会遇到一些问题,某些功能widget不支持。比如gridview没有header和footer。那不自己写控件就得用一些javascript式的奇技淫巧。自己写的话,看源码是最好的方法吧。直接看listview会很头疼,因为listview继承了AbsListView,爷爷是AdapterView。所以看图吧。
类名后面括号中的是类的大小,以kB为单位。将控件分成直接继承view和继承ViewGroup两类。看第一层,这里(大部分)都是自己就能完成功能的类。所以写自己写控件应该仿照这里的类写。有两个类我觉得是google给的gift:AnalogClock和AbsoluteLayout。这两个类是第一层里面最小的两个,个位数的大小。读源代码也就200行多一点。分析这两个类比分析TextView和ListView简单多了是吧。看起来也像教学类。
我觉得看代码就得从简单的不起眼的看,知识技巧一点一点学,心急吃不到臭豆腐。