0

我对 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 );  
}
4

1 回答 1

2

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

资料来源: Android 开发者文档说,如果你覆盖 View's onDraw(),你必须清除这个标志。检查setWillNotDraw

于 2013-01-05T20:47:01.223 回答