2009年7月22日
摘要: 创建全新的Views给予你的权力,可以从根本上改变应用程序的外观和感觉。通过创建自己的控件,你可以创建独一无二的适合自己用户需求的UI。从一个空的画布上创建新的控件,你需要扩展View类或SurfaceView类。View类提供了一个画布对象、一些draw方法和Paint类,使用屏面图形技术来创建视觉界面。然后,你可以重写用户事件,如屏幕触摸或按键按下来提供交互性。在一些不需要极其快速的重绘和3D... 阅读全文
posted @ 2009-07-22 17:55 xirihanlin 阅读(1311) 评论(0) 推荐(0) 编辑
摘要: 复合控件是原子的、可重复使用的widget,它包含多个子控件,以某种布局方式联系在一起。当你创建一个复合控件的时候,你需要定义布局,外观和它包含的Views间的相互作用。复合控件通过扩展一个ViewGroup创建。为了创建一个复合控件,你需要选择一个最适合放置子控件的layout类来扩展它,如下面的框架代码所示:public class MyCompoundView extends LinearL... 阅读全文
posted @ 2009-07-22 16:57 xirihanlin 阅读(2158) 评论(0) 推荐(0) 编辑
摘要: 第2章中的To-Do List例子使用TextView(在ListView中)显示每一个item项。你可以通过创建新的TextView扩展,重写onDraw方法来定制一个列表的外观。在这个例子里,你将创建一个新的TodoListItemView,它会让每个item项看起来像在记事本上一样。当完成时,你定制的To-Do List应该看起来和图4-2一样。图4-21. 创建一个新的TodoListIt... 阅读全文
posted @ 2009-07-22 12:51 xirihanlin 阅读(1385) 评论(0) 推荐(0) 编辑
摘要: 工具箱包含许多普通需求的UI,但这些控件不一定通用。通过定制这些基本的View,你可以避免重新实现现有的逻辑,而做到为应用程序裁剪它需要的UI和功能。基于现有的控件来创建新的widget,需要创建一个新类来扩展它。如下面的代码片段所示,对TextView进行了扩展:import android.content.Context;import android.util.AttributeSet;imp... 阅读全文
posted @ 2009-07-22 10:09 xirihanlin 阅读(940) 评论(0) 推荐(0) 编辑