質問

モバイルタッチデバイスを使用する際に、タッチエリアを楕円形に簡略化し、指の向きを検出する方法を探していました。3 つの便利な方法を見つけたので、iOS ではなく Android を選択します (getTouchMajor(), getTouchMinor(), 、 そして getOrientation()) Android リファレンスの モーションイベントクラス。しかし、これら 3 つのメソッドをアプリに実装しようとしましたが、残念なことに、必要な値が返されません。getTouchMajor と getTouchMinor は毎回まったく同じですが、方向は何があっても 0 のままです。

そこで私の質問は次のとおりです。私が何か間違ったことをしているのでしょうか、それともこれらのメソッドがまだ実装されていないだけなのでしょうか?

(以下を含むいくつかの異なるデバイスで機能を試しました。Nexus 5、Nexus 7、および HTC One)

役に立ちましたか?

解決

私たちは一緒に仕事をしているので、あなたもこの答えを知っていると思いますが、Stackoverflow の他のユーザーも同じように答えられるように載せておきたかっただけです。

おそらくほとんどのデバイスのタッチ スクリーン ドライバーがこのデータをシステムに提供していない可能性があるという示唆に富んだコメントを見つけました。

私たちは当初、次のことをテストしました。Samsung Galaxy S2、HTC One、Nexus 5 (LG 製) および Nexus 7 (Asus 製)、Samsung Galaxy Tap 3。

他のものとは対照的に、Samsung Galaxy Tap 3 は getTouchMajor() と getTouchMinor() に異なる値を与えましたが、この関係は getTouchMajor() = getTouchMinor() * 3 であり、他のすべてのデバイスと同様に getOrientation() は常に 0 でした。他のデバイス。

約2か月後、次のことが分かりました。 Google Nexus 10 アクティブ化すると、方向線付きの楕円を表示できます 入力:ポインタの位置 開発者設定の下にあります。

最初の結論は、ほとんどのデバイスは getTouchMajor() と getTouchMinor() をサポートしていないということでした。または getOrientation()。これは静電容量式タッチ スクリーンの制限である可能性があります。しかし、それを見ると、 ネクサス10, 、そして楕円と方向の追跡は、新しいインタラクション デザインへの希望を与えます。

これは、一部のデバイスが方向だけでなく getTouchMinor と getTouchMajor も提供していることを示しています。(または同じ関数の過去のバージョン)。私自身、このデバイス用に何かをコーディングする機会はありませんでしたが、それはもっともらしいと思われます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top