我試着用這個爲什麼canvas在onDraw中與視圖大小不一樣? (安卓)
@Override
protected void onDraw(Canvas canvas)
{
Log.e("TEST", "canvas width: " + canvas.getWidth() + "");
Log.e("TEST", "view width: " + this.getWidth() + "");
Log.e("TEST", "canvas height: " + canvas.getHeight() + "");
Log.e("TEST", "view height: " + this.getHeight() + "");
super.onDraw(canvas);
Log.e("TEST", "canvas width: " + canvas.getWidth() + "");
Log.e("TEST", "view width: " + this.getWidth() + "");
Log.e("TEST", "canvas height: " + canvas.getHeight() + "");
Log.e("TEST", "view height: " + this.getHeight() + "");
}
這是結果:
canvas width: 320
view width: 480
canvas height: 533
view height: 300
canvas width: 320
view width: 480
canvas height: 533
view height: 300
從我的main.xml
android:layout_width="480px"
android:layout_height="300px"
一部分。根據我的記錄和打印的一部分我的XML,視圖的大小是正確的。 我的設備是480×800和兩個寬度和高度由登錄結果除以得到1.5(533分之800= 1.5和三百二十分之四百八十零= 1.5),因此它似乎我得到畫布從整個屏幕上繪製。爲什麼會這樣,爲什麼這麼小,我該如何正常畫畫?