如何绘制视图?

应用启动时所有视图都处于无效状态invalid,视图未被绘制到屏幕上,Android通过调用顶级View视图的draw()方法解决这个问题,这将引起自上而下的链式调用反应,视图完成自我绘制,然后是子视图的自我绘制,直至继承结构的末端,为参与这种绘制,可覆盖View.onDraw()方法。

CanvasPaint是Android系统的两大绘制类:

  • Canvas类具有我们需要的所有绘制操作。其方法可决定绘制的位置及图形,例如线条、圆形、字词、矩形等。
  • Paint类决定如何进行绘制操作。其方法可指定绘制图形的特征,例如是否填充图形、使用什么字体绘制、线条是什么颜色等。

监听触摸事件的一种方式是 setOnTouchListener(View.OnTouchListener l);然而由于是View的子类,因此可以直接覆写View.onTouchEvent()方法。 该方法接收一个MotionEvent实例,它用来描述包括位置和动作的触摸事件。

使用Bundle在设备旋转时保存数据。