私はこれで試しました
@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 を取得して描画しているようです。これはなぜですか?なぜこんなに小さいのですか?通常の方法で描画するにはどうすればよいですか?