Dlaczego płótno nie ma tego samego rozmiaru co widok wDraw? (Android)

Próbowałem z tym

@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() + "");
}

Oto rezultat:

canvas width: 320
view width: 480
canvas height: 533
view height: 300
canvas width: 320
view width: 480
canvas height: 533
view height: 300

Część z mojego pliku main.xml

    android:layout_width="480px"
    android:layout_height="300px"

Według moich wydruków dziennika i części mojego pliku XML, rozmiar widoku jest poprawny. Moje urządzenie ma rozmiar 480 x 800, a zarówno szerokość, jak i wysokość podzielone przez wyniki dziennika dają 1,5 (800/533 = 1,5 i 480/320 = 1,5), więc wydaje się, że rysuję na kanwie z całego ekranu. Dlaczego tak jest i dlaczego jest tak mały i co powinienem zrobić, aby narysować w normalny sposób?

questionAnswers(1)

yourAnswerToTheQuestion