我试图获取设备的像素宽度/高度用于放置元件和映射的触摸事件在屏幕上,但没有得到所期望的效果(注意右下方应该是完全的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