码迷,mamicode.com
首页 > 其他好文 > 详细

canvas空值

时间:2014-10-19 22:57:16      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:style   color   io   os   ar   sp   on   问题   ad   

============问题描述============


MyGameView:

private Drawable myBackground;
public MyGameView(Context context) {
super(context);
// TODO Auto-generated constructor stub

myContext = context;
//mBackground获取background的图片
myBackground = myContext.getResources().getDrawable(R.drawable.background);
}

private void drawBackground(Canvas canvas){

    canvas.drawColor(Color.WHITE);   canvas 是空值

    //获取屏幕的高度。宽度
WindowManager wm = (WindowManager) getContext() .getSystemService(Context.WINDOW_SERVICE); 
     @SuppressWarnings("deprecation")
int width = wm.getDefaultDisplay().getWidth(); 
     @SuppressWarnings("deprecation")
int height = wm.getDefaultDisplay().getHeight(); 

     myBackground.setBounds(0, 0, width, height);
     myBackground.draw(canvas);



protected void Ondraw(Canvas canvas) {
// TODO Auto-generated method stub
super.Ondraw(canvas);
//用户画背景
drawBackground(canvas);canvas是空值
}


MysurfaceView:
private class DrawThread implements Runnable{

private boolean myRun = true;
@Override
public void run() {
// TODO Auto-generated method stub
while(myRun){
Canvas canvas = ourHolder.lockCanvas();
Ondraw(canvas);canvas是空值
ourHolder.unlockCanvasAndPost(canvas);
}
}
}

三种用红色标记的canvas都是空值,这个问题该怎么解决?

============解决方案1============


Canvas canvas = ourHolder.lockCanvas(); 这个holder是怎么获取到的? 可能是这个holder没有关联上SurfaceView

canvas空值

标签:style   color   io   os   ar   sp   on   问题   ad   

原文地址:http://www.cnblogs.com/qibileiru/p/4035766.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!