我刚学习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;
}
}
}
下面是代码:求各位高手指教: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;
}
}
}
解决方案 »
- 运行模拟器时和DDMS时,出现“error loading preferences”错误
- activity互相传值报错。。
- 怎样用ftpclient在service下载
- android在2.2下如何退出?
- android与ASP.NET程序交换数据问题
- 如何按照文件夹取得所有音乐文件?
- 哥跳槽找工作,2年Android应用开发(含云计算),在深圳 能开多少薪水?
- 如何实现一个只有广播和service的android应用没有activity
- 急求android系统图库的图片放大操作的实现啊
- Android位置定位思路求助
- ListActivity 设置adapter异常问题
- 请教下android键位的问题
Canvas canvas = getHolder().lockCanvas();
canvas.drawColor(Color.WHITE);//清屏
canvas.drawBitmap(bitmap, left, top, null);
getHolder().unlockCanvasAndPost(canvas);
}