我想买触摸屏的尺寸。因为这个原因,当我在模拟器中测试这个代码时,x的最小值是0(当按下屏幕的“角落”时,y也是)。但是当我在真实的设备上测试代码时,x显示2000。所以我想看看屏幕的绝对值。我想我需要得到屏幕的最小值,最大值。我怎样才能读到这个值?
main()
{
int fileno = open("/dev/input/event0",O_RDONLY),num_bytes;
char ev[50];
num_bytes=read(fileno,&ev,sizeof(struct input_event));
if(num_bytes<=0)
{
perror("Cannot access");
exit(FAILURE);
}
printf("%d\n",fileno);
printf("\nNumber of bytes read is %d\n string is%s\n",num_bytes,ev);
close(fileno);
}
最佳答案
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
这将告诉您屏幕的实际大小(以像素为单位),但在计算实际可用区域时,您仍然需要考虑密度以及操作栏或标题栏。