バックグラウンド:
私はAndroidで小さなテストアプリを作成しています。このアプリは、画面に触れているすべての指についてアプリが感知できるすべてのデータを画面に表示するだけです。これに似ていますが、1つだけではなくすべてのタッチに対応しています。Androidのタッチイベントには、位置、向き、圧力、サイズ、楕円軸の長さなど、多くのデータが含まれています(このドキュメントによる)。
問題:
私のアプリが受け取るすべてのMotionEventは、すべてのポインターインデックスiのgetSize(i)、getTouchMajor(i)、およびgetTouchMinor(i)のレポート0(ゼロ)を受け取ります。しかし、それは賢明なゼロ以外の位置と圧力の値を報告するので、何かが正しく機能しています。ドキュメントは、これはハードウェアがその情報をサポートしていないことを意味しているようですが、2つの理由で私はそれについて懐疑的です。
- 私がテストしているデバイスはGalaxyTabIIで、これはかなり凝ったものだと思いました。(Webを検索して、さまざまなAndroidデバイスがMotionEventsでサポートしている機能のリストを見つけることができるかどうかを確認しましたが、そのようなリストは見つかりませんでした。)
- JavaメソッドInputDevice.getMotionRanges()を使用して、デバイスがサイズと長軸/短軸をサポートしているかどうかをテストしました。これらの結果は、デバイスがこれらの軸をサポートしていることを示しています(サイズ:0.0-1.0、長/短:0.0-1509.437)各)。
質問:
- Galaxy Tab IIがMotionEventのサイズと長軸/短軸機能をサポートしていると結論付けたのは正しいですか?もしそうなら、実際のMotionEventからそのデータを取得できないのはなぜですか?(私のコードは、上記にリンクされているコードと非常によく似ています。)
- このタブレットが実際にこれらの軸をサポートしていない場合、MotionEventのサイズと楕円の軸の長さを取得するためにこれを実行できるAndroidタブレットをお勧めしますか?
利用可能な助けを事前に感謝します!
編集: Galaxyタブでアプリをテストしている同僚私はすべてのデータを取得しますが、欠落しているものはありません。デバイス間に設定/設定の違いはありますか?GalaxyTabがIからIIにダウングレードするのは非常に奇妙に思えます...