Я пробовал с этим
@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, размер представления верно. Мое устройство 480x800, и ширина и высота, разделенные на результаты журнала, дают 1,5 (800/533 = 1,5 и 480/320 = 1,5), поэтому кажется, что я получаю Canvas со всего экрана для рисования. Почему это так и почему оно такое маленькое, и что мне делать, чтобы рисовать нормально?