我刚学习Android,在使用Surfaceview画图的时候,老是闪屏是怎么回事,我用鼠标点击移动……的时候闪屏。
下面是代码:求各位高手指教:public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new MySurfaceView(this));
} class MySurfaceView extends SurfaceView {
float left;
float top;
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
R.drawable.icon); public MySurfaceView(Context context) {
super(context);
Log.d("test", "constract");
setFocusable(true);
requestFocus();
//这里得到的都是0
left = getWidth() / 2;
top = getHeight() / 2;
} protected void doDraw() {
Canvas canvas = getHolder().lockCanvas();
canvas.drawBitmap(bitmap, left, top, null);
getHolder().unlockCanvasAndPost(canvas);
} @Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
if (event.getAction() == MotionEvent.ACTION_MOVE) {
Log.d("test", "onTouchEvent");
left = event.getX();
top = event.getY();
doDraw();
}
return true;
}
}
}