Slide 35
Slide 35 text
public HelloDrawer(Context context) {
mView = new HelloView(context);
mView.setListener(mListener);
this.context = context;
}
!
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
// Measure and layout the view with the canvas dimensions.
int measuredWidth = View.MeasureSpec.makeMeasureSpec(width,
View.MeasureSpec.EXACTLY);
int measuredHeight = View.MeasureSpec.makeMeasureSpec(height,
View.MeasureSpec.EXACTLY);
!
mView.measure(measuredWidth, measuredHeight);
mView.layout(0, 0, mView.getMeasuredWidth(), mView.getMeasuredHeight());
draw();
}
!
public void draw() {
Canvas canvas = mHolder.lockCanvas();
// ...
mView.draw(canvas);
// ...
mHolder.unlockCanvasAndPost(canvas);
} HelloDrawer.java
Init HelloView & Drawing
(因版⾯面限制,故隱藏省略部分內容)