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 に答える