如何绘制视图?
应用启动时所有视图都处于无效状态invalid,视图未被绘制到屏幕上,Android通过调用顶级View视图的draw()
方法解决这个问题,这将引起自上而下的链式调用反应,视图完成自我绘制,然后是子视图的自我绘制,直至继承结构的末端,为参与这种绘制,可覆盖View.onDraw()
方法。
Canvas
和Paint
是Android系统的两大绘制类:
Canvas
类具有我们需要的所有绘制操作。其方法可决定绘制的位置及图形,例如线条、圆形、字词、矩形等。Paint
类决定如何进行绘制操作。其方法可指定绘制图形的特征,例如是否填充图形、使用什么字体绘制、线条是什么颜色等。
监听触摸事件的一种方式是 setOnTouchListener(View.OnTouchListener l);
然而由于是View的子类,因此可以直接覆写View.onTouchEvent()
方法。
该方法接收一个MotionEvent
实例,它用来描述包括位置和动作的触摸事件。
使用Bundle
在设备旋转时保存数据。