我对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 );
}
答案 0 :(得分:1)
根据你上面的评论,我认为正在发生的事情是,android运行时正在绘制到画布,而你的onDraw
没有被调用。您可以通过在类的构造函数中调用this.setWillNotDraw(false)
来避免这种情况。清除此标志后,将调用onDraw()。
来源: Android开发者文档说,如果您覆盖View的onDraw()
,则必须清除此标记。查看setWillNotDraw