Por que a tela não é do mesmo tamanho que a exibição no onDraw? (Android)
Eu tentei com isso
@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() + "");
}
E esse é o resultado:
canvas width: 320
view width: 480
canvas height: 533
view height: 300
canvas width: 320
view width: 480
canvas height: 533
view height: 300
Parte do meu main.xml
android:layout_width="480px"
android:layout_height="300px"
De acordo com minhas impressões do Log e parte do meu xml, o tamanho da visualização está correto. Meu dispositivo é 480x800 e a largura e a altura divididas pelos resultados do Log dão 1,5 (800/533 = 1,5 e 480/320 = 1,5), então parece que eu recebo Canvas de tela inteira para desenhar. Por que isso é, e por que é tão pequeno e o que devo fazer para desenhar de maneira normal?