画面に要素を配置し、タッチイベントをマッピングするためにデバイスのピクセル幅/高さを取得しようとしていますが、目的の効果が得られません (右下の四角が右下と完全に一致する必要があることに注意してください):
// screen size
DisplayMetrics metrics = Resources.getSystem().getDisplayMetrics();
float ScrDensity = metrics.density;
int metricHeight = metrics.heightPixels;//
int metricWidth = metrics.widthPixels;//
Log.i("AllMetrics", metrics.toString());
// temp
int rightButton_diameter = 100;
int rightButton_xpos = metricWidth - rightButton_diameter;
int rightButton_ypos = metricHeight - rightButton_diameter;
AllMetrics が返す場所:
DisplayMetrics{density=2.0, width=720, height=1184, scaledDensity=2.0, xdpi=320.0, ydpi=320.0}
返された高さも仮想デバイス マネージャー (API 19、Android 4.4) にリストされている 720x1280 とは異なり、タッチ イベントの x/y 位置は描画された要素に対して正確であるように見えます (つまり、ボタンのクリック可能な領域は描かれているところと同じ)
これは構成エラーですか、それとも画面位置を取得する方法が間違っていますか?