package com.mySfv;
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.os.Bundle;
import android.util.Log;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
public class MySurfaceViewActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setContentView(new MyView(this));
}
class MyView extends SurfaceView implements SurfaceHolder.Callback{
private SurfaceHolder holder;
private MyThread mThread;
public MyView(Context context) {
super(context);
// TODO Auto-generated constructor stub
holder = getHolder();
holder.addCallback(this);
mThread = new MyThread(holder);
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
// TODO Auto-generated method stub
Log.i("state", "surfaceCreated");
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
// TODO Auto-generated method stub
Log.i("state", "surfaceChanged");
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
// TODO Auto-generated method stub
Log.i("state", "surfaceDestroyed");
}
}
class MyThread extends Thread{
private SurfaceHolder holder;
public MyThread(SurfaceHolder holder) {
super();
this.holder = holder;
}
@Override
public void run() {
// TODO Auto-generated method stub
super.run();
Canvas c = holder.lockCanvas();
c.drawColor(Color.YELLOW);
Paint p = new Paint();
p.setColor(Color.BLACK);
Rect rect = new Rect(20,20,80,80);
c.drawRect(rect, p);
c.drawText("hello lee.", 20, 100, p);
}
}
}