【安卓深度控件开发(1.5)】本章总结

是的,我在完成了汉化后的确学到了很多新东西。您感觉怎么样呢,现在开始就是本人编写的内容了,希望不会把你带沟里了 ~~~

好了,大家看了安卓官方提供的 Creating Custom Views 的汉化版本之后,是不是已经等不急要创建一个“Hello World”了呢,当然您的想法可能比“Hello World”要高很多,不管如何,让我们通过下面这个图示来了解一下开发一个安卓控件的路线图:

Android-控件开发路线图

如上图是一个最简单的路线图:

  1. 一个 Android 视图总是直接或间接的 View 子类。
  2. 实现两个参数的构造函数能在 xml 布局设计器中方便的放置你的视图,如果需要提供一些属性,可以通过一个属性化文件来定制。
  3. 在视图尺寸改变时你需要为将来的绘制准备特定与新的尺寸的相关坐标,路径等没有必要在每次绘制都重新计算和处理的任务。
  4. 大多数时候需要重载 onDraw 来实现你的视图特定的绘制代码。它会在视图无效时被调用。
  5. 对于有着特别行为的控件,重载 onTouchEvent 得到用户的点触行为。如果您的控件不做特别的交互,不是一定要重载这个方法。

注意:这只是个做为你入门来说简化过的路线图,对于完成不同功能的视图,它们可能更简单或更复杂。

补充:

  • 如果您的控件行为很复杂,可能在运行时很正常而在 XML 布局设计器中出现错误信息。这一般是由于访问一些在设计时不可用的资源(如 sqlite 数据库),如果你希望设计时更友好,应该使用 View 类提供的 isInEditMode() 来测试并跳过相关的代码,更好的是提供基于“假”数据的控件效果预览。
  • 如果您的控件不需要进行复杂的用户交互,只是单击这类的操作,重载 onTouchEvent 自己实现是多余的,View 直接提供了这类基本事件。
  • 对于属性定义 xml 文件,它不是必须的,如果您不需要设计界面上设置自定义属性。命名为 attr.xml 也不是必须的,它可以是任何合法的文件名,还可以将内容放在其它 resource 类型的 xml 文件中。

看起来不太复杂不是吗,下一章中我们就开始真正一步步自制一个功能简单但实用的视图。

你可能感兴趣的:(【安卓深度控件开发(1.5)】本章总结)