すべての Android 携帯電話、すべての解像度、すべての画面密度で画面全体を埋める四角形を描きたいと思います。これが正しいことを願っています。Android は初めてなので、単純にこのように書けば十分だと思いました。現時点では、解像度が 1024x1024 ピクセルを超える Android デバイスは存在しないためです。
ScreenWidth = 1024;
ScreenHeight = 1024;
canvas.drawRect(0,0, ScreenWidth, ScreenHeight, mLoadPaint);
ただし、一部のデバイスでは、この Rectangle が画面全体に表示されないようです。奇妙で説明できないのは、これが常に発生するわけではなく、ある時点で発生するということです... とにかく、コードに問題があるようですので、次のように変更したいと思います、しかし、今では metrics.widthPixels と metrics.heightPixels が私の問題を解決することを確信しています:
wm = (WindowManager) getSystemService(WINDOW_SERVICE);
DisplayMetrics metrics = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(metrics);
canvas.drawRect(0,0, metrics.widthPixels, metrics.heightPixels, mLoadPaint);
これが正しいかどうか、このコードがすべての画面をカバーし、四角形が画面全体を占めるかどうかを知りたいです。もちろん、このアプローチでは、画面の向きにも注意する必要があります。画面が横向きの場合、値がそれらの間で交換されるように見えるからです。