1

我想得到触摸屏的大小。因此,当我在模拟器中测试此代码时,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);
}
4

1 回答 1

1
 DisplayMetrics metrics = new DisplayMetrics();
 getWindowManager().getDefaultDisplay().getMetrics(metrics);

这将告诉您屏幕的实际大小(以像素为单位),但在计算实际可用区域时,您仍然需要考虑密度以及操作栏或标题栏。

于 2012-08-18T10:26:16.323 回答