上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 26 下一页
  2009年7月23日
摘要: 除非你总是需要一个100×100像素的控件,否则,你必须要重写onMeasure。onMeasure方法在控件的父元素正要放置它的子控件时调用。它会问一个问题,“你想要用多大地方啊?”,然后传入两个参数——widthMeasureSpec和heightMeasureSpec。它们指明控件可获得的空间以及关于这个空间描述的元数据。比返回一个结... 阅读全文
posted @ 2009-07-23 11:12 xirihanlin 阅读(3795) 评论(0) 推荐(1) 编辑
摘要: onDraw方法是一个发挥想象的地方。如果你正在白手起家式地创建一个widget,正是由于你想创建一个全新的视觉界面。onDraw方法中传入的Canvas参数就是一个表面,你用它来给你的想象赋予生命。通过一些Paint对象,Android提供了一系列工具来帮助你在Canvas上绘制你的设计。Canvas类包含一些辅助方法来绘制基本的2D对象,包括圆、线、矩形、文本和图片等。当你在其上绘制时,它也支... 阅读全文
posted @ 2009-07-23 10:19 xirihanlin 阅读(1023) 评论(0) 推荐(0) 编辑
摘要: 基本的View类代表一个全空的100×100像素的正方形。为了改变控件的大小和显示更炫的视觉效果,最具代表的,你需要重写onMeasure和onDraw方法。在onMeasure方法里,新的View会依据给的边界条件来计算它要占据的高度和宽度。在onDraw方法里,通过在画布上画画来创建视觉界面。接下来的代码片段给出了一个新的View类的框架代码,我们将在接下来的章节更加深入的讨论:pu... 阅读全文
posted @ 2009-07-23 09:32 xirihanlin 阅读(1291) 评论(0) 推荐(0) 编辑
  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) 编辑
  2009年7月21日
摘要: 扩展存在的Views,创建组合的widgets,创建独一无二的新控件——这些能力能为你的特殊工作流程创建漂亮的UI。Android允许你继承现有的widget工具箱并实现你自己的View控件,为裁剪UI提供了所有的自由,从而使用户体验增加到最大极限。当你设计UI时,在自然美与实用性间平衡是很重要的。在创建自己定制的控件的威力下,带来了必须空手重新构建它们的诱惑。尽可能的经得... 阅读全文
posted @ 2009-07-21 22:47 xirihanlin 阅读(524) 评论(0) 推荐(0) 编辑
摘要: 首选实现layout的方式是以外部资源方式在XML中定义。一个布局XML必须包含单一的根元素。这个根节点可以尽可能的包含layouts和Views来构建任意复杂的界面。下面的XML片段显示了一个简单的layout,其内放置了一个TextView和一个EditText控件,通过LinearLayout配置成垂直布局:<?xml version=”1.0” encodin... 阅读全文
posted @ 2009-07-21 22:13 xirihanlin 阅读(1009) 评论(0) 推荐(0) 编辑
摘要: Layout管理器(一般称“layouts”)是ViewGroup的扩展,被设计用来控制子控件在屏幕上的位置。Layouts能相互嵌套,通过Layout管理器的结合,你可以创建任意复杂的界面。Android SDK包含一些简单的Layout,帮助你构建UI。选择layout间正确的结合来使界面易于理解和使用就取决于你咯。下面的列表包含了一些更通用的layout类:❑ Fra... 阅读全文
posted @ 2009-07-21 17:56 xirihanlin 阅读(1949) 评论(0) 推荐(0) 编辑
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 26 下一页