【发布时间】:2014-06-26 18:39:19
【问题描述】:
我有以下代码:
Bitmap right1;
public TicTacToe(Context context) {
super(context);
right1 = BitmapFactory.decodeResource(getResources(), R.drawable.plus);
int width = right1.getWidth();
int height = right1.getHeight();
}
@Override
protected void onDraw(Canvas canvas){
super.onDraw(canvas);
canvas.drawColor(Color.WHITE);
right1 = Bitmap.createScaledBitmap(right1, canvas.getWidth()/3, canvas.getWidth()/3, false);
canvas.drawBitmap(right1, (canvas.getWidth() - (canvas.getWidth()/3)), 0, null);
invalidate();
}
我想根据画布的宽度重新调整名为“right1”的位图。我成功地这样做了,但是执行此操作的代码行是 onDraw 方法下的第三行。那行代码的问题在于,当我只想运行一次时,它会不断循环。理想情况下,我想将该行代码放在 TicTacToe 方法中,但我不确定如何在 TicTacToe 方法中初始化画布,以便获得画布宽度。
【问题讨论】:
标签: java android canvas initialization width