0
外部訪問的畫布寬度我有以下代碼:如何將的onDraw方法的安卓
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方法中的畫布,以便我可以獲取畫布寬度。
這樣做會更好,但代碼會一直檢查這個if語句。所以它最好在構造函數中初始化一次,並且不必在onDraw方法中檢查它。 – user2969777
因爲onDraw()在無限調用中,所以一旦你繪製了,就不要調用invalidate()方法,所以我更新了代碼並將invalide()調用放入if()中,現在只會調用一次 –
感謝您的幫助 – user2969777