タッチされているすべてのピクセルを検出することは可能ですか? より具体的には、ユーザーが画面に触れたとき、ユーザーが触れた点のクラスターのすべての xy 座標を追跡することは可能ですか? ユーザーが親指で描いているときと指先で描いているときの違いをどのように見分けることができますか? ユーザーが画面に触れる方法に応じてブラシの違いを反映したいと思います。また、時間の経過とともにタッチされたすべてのピクセルの xy 座標を追跡したいと考えています。助けてくれてありがとう。
3 に答える
これは主に、すべての Android フォンの動作が異なるため、非常に注意が必要です。非常に感度の高いタッチ スクリーン デバイスもあれば、比較すると基本的に「鈍い」デバイスもあります。
また、圧力を追跡したいように聞こえます-ユーザーが画面をどれだけ強く押しているか-実際にはAndroidデバイスでサポートされています。
すべてのタッチイベントを監視することで、あなたの答えの一部が見つかる可能性があると思います.ユーザーが画面を操作しています。ただし、これを行うと、アプリケーションのパフォーマンスに悪影響を及ぼす可能性があります。
圧力感度を調べ、圧力に基づいて主要なタッチ ポイントの周囲の円形領域を計算し、その周囲にブラシを作成することをお勧めします。
もう 1 つのアイデアは、やろうとしていることにより多くのジェスチャー アプローチを組み込むことです。中指は人差し指に対して上下。両方の指を一緒に動かしてペイントします。これは、その場で描画角度を操作したり、事前に選択されたブラシのセットを切り替えたり、ペイント中にその場でブラシ サイズを変更したりするために使用できます。
上記のアイデアのいくつかをぜひ実装してください。アプリの準備ができたらお知らせください。
幸運を!ロドニー
画像にリスナーがいる場合は、基本的に、そのバウンディングボックス内にタッチがあったと応答します。
したがって、必要なものを取得することはできますが、これを行うことは決してありません。すべてのピクセルまたはピクセルの小さなグループの周りにボックスを作成し、タッチを聞きます。
あなたが触れるところはどこでも、それはイベントを引き起こすかもしれません、そしてあなたはそれに応じて反応することができます。
人が一度に触れた各ピクセルを提供する他のソリューションは考えられません。
ただし、ここには私があなたを助けるいくつかの提案があるので、マルチタッチについて読みたいと思うかもしれません:
http://android-developers.blogspot.com/2010/06/making-sense-of-multitouch.html
コンテンツ ビューをView afterとして取得する方法を探している場合Activity#setContentView(int)
は、レイアウトの最も外側の要素に id を設定できます。
android:id="@+id/entire_view"
onCreate()
の後にメソッドで参照しますsetContentView
。
View view = getViewById(R.id.entire_view);
view.setOnTouchListener( ... );