画布上的图像没有显示

时间:2013-01-05 19:54:50

标签: android ondraw

我对Android很新,但为什么我的图片不在画布上显示? 我知道它正常工作,因为背景颜色是黑色的,我用同样的方法改变了onDraw。谁能帮我?提前谢谢!

  public PongView(Context context) {
    super(context);
    paddle1 = BitmapFactory.decodeResource(getResources(), R.drawable.pongpaddle);
    paddle2 = BitmapFactory.decodeResource(getResources(), R.drawable.pongpaddle);
}
protected void onDraw(Canvas canvas) {
    xp1 = canvas.getWidth()/2;
    xp2 = canvas.getWidth()/2;
    yp1 = 25;
    yp2 = 760;
    canvas.drawColor(Color.BLACK);
    canvas.drawBitmap(paddle1, xp1,yp1, null);
    canvas.drawBitmap(paddle2,xp2,yp2, null);
    Paint white = new Paint();
    white.setColor(Color.WHITE);
    canvas.drawText("Score P1:"+ p1Score +" P2: " + p2Score , 700, 20,white );  
}

1 个答案:

答案 0 :(得分:1)

根据你上面的评论,我认为正在发生的事情是,android运行时正在绘制到画布,而你的onDraw没有被调用。您可以通过在类的构造函数中调用this.setWillNotDraw(false)来避免这种情况。清除此标志后,将调用onDraw()。

来源: Android开发者文档说,如果您覆盖View的onDraw(),则必须清除此标记。查看setWillNotDraw