我試圖獲取設備的像素寬度/高度用於放置元件和映射的觸摸事件在屏幕上,但沒有得到所期望的效果(注意右下方應該是完全的Android getDisplayMetrics()沒有返回準確的顯示尺寸
// 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}
我注意到,換貨政右底部)齊平rned高度也從在虛擬設備管理器(API 19,機器人4.4)和觸摸事件的X/Y位置列出的720x1280不同似乎精確到繪製的元素(即按鈕的點擊區域是一樣的,其中它被畫)
這是一個配置錯誤或正在使用獲取屏幕位置的不正確的方法嗎?
高度= 1184,因爲它不包括狀態欄的高度是96,這兩個數字加在一起給1280是物理屏幕高度 – pskink
BTW究竟你想達到什麼目的? – pskink
只需準確地將東西放置在屏幕上爲初學者。 我注意到,如果我從0,0開始繪製,它與左上角齊平。狀態欄不應該抵消69?否則,它只是缺少底部而不是頂部的高度。 – Gavin