問題タブ [touch-event]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android が複数の ImageView に対して onTouch イベントを発生させる
複数の ImageView があり、複数の画像間で指をドラッグすると、それぞれに対して onTouch イベントが発生するようにします。現在、onTouch イベントは最初の ImageView でのみ発生します (実際には複数の ImageView で発生しますが、画面をマルチタッチする場合のみ)。擬似コード:
私は完全に間違った木を吠えていますか?
助けてくれてありがとう。
android - false を返すときに onTouch() が FATAL EXCEPTION を生成するのはなぜですか?
イベントのパラメーターをログに記録するだけの単純な MotionEvent 演習を作成しました。OnTouchListenerを実装し、メイン アクティビティでonTouch()をオーバーライドすることでこれを行います。
1 つのボタンについては、onTouch() の最後でtrueを返します。問題ありません。
別のボタンについては、onTouch() の最後でfalseを返します。ここが興味深いところです。「false」を返すだけで、FATAL EXCEPTION がスローされ、よくわからない小さなヒントが表示されます:「2 回リサイクルされました!」。
これは何を意味するのでしょうか?
更新: 以下のコメントの提案に従って、LogCat からの例外の詳細を追加しています:
android - 画面が再起動されない限り、タッチイベントに対する非感受性
一部の Android デバイスでは、新しいアクティビティに切り替えた後、画面をオフにしてオンにしている限り、タッチ イベントを取得できませんでした。
Xperia X10 と Motorola Milestone 2 でこれに気付きました。2 番目のアクティビティを起動した後、ボタンを押したり、リストを展開したりできませんでした。手動で。
私の質問は...
タッチ イベントを感知しない原因は何ですか? 画面の再起動後に行われるアクションとは...
たぶん、この情報があれば、私の問題がどこにあるのかを理解できるでしょう。
iphone - UIScrollview とサブビューのタッチ イベントの管理
私はメインのwievを持っています。UIScrollView オブジェクトをメイン ビューのサブビューとして配置しました。タッチ イベントを管理する UIView の拡張クラスがあります。このクラスは、ユーザーがパスを描画できる一種の透明な黒板をモデル化します。UIVIew 拡張クラスからオブジェクトを作成し、UIScrollView のサブビューとして追加します。
このプロセスは、Inspector と .xib ファイルを使用して実行します。
その後、タッチ イベントは UIScrollView オブジェクトに到達しません。インスペクタで UIView 拡張クラスの「User Interaction Enabled」チェックボックスをオフにしても問題ありません。私も試しました:
また
また
また
私の拡張された UIView クラスの touchEvents メソッドで。UIScrollView へのタッチ イベントの取得に成功していません。
一方、scrollView と拡張 UIView クラスをプログラムで追加し、同じ階層を維持すると、UIScrollView はタッチ イベントを取得しますが、そのサブビュー (UIView 拡張クラス) は取得しません。
UIScrollView と UIView 拡張クラスの両方で同時にタッチ イベントを管理したくありません。たとえば、ボタンを使用して、タッチイベントをリッスンするために UIScrollView と UIView 拡張クラスを切り替えたいだけです。
この場合、私が説明しているのは、UIScrollView または UIView 拡張クラスのどちらがタッチ イベントをリッスンするかを選択することは可能ですか?
android - Android OnGestureListener Fling is not detecting
I want to detect fling motion in a block of the screen. I am using the following code for that.
It is detecting the TouchEvent, but it is not detecting any fling motion. What is the problem in my code?
ipad - iOS MobileSafariでデフォルトのプレスを防止しますが、デフォルトのドラッグは禁止しますか?
コンテキスト:フルスクリーンとiframeに埋め込まれたMobileSafari/iPad上のWebアプリ
目標:ピンチ(ズーム)またはドラッグ(スクロール/パン)ではなく、プレスアンドタップ用のカスタムイベントハンドラーを提供する手法。Pressにカスタム動作を提供したいのですが、Safariがスクロール/パン/ズームを引き続き処理できるようにします。
問題:2つの目標は相互に排他的であるように思われます。Pressジェスチャのデフォルトの動作を防ぐには、ontouchstartへの即時応答でevent.preventDefaultを呼び出す必要があります。ただし、デフォルトの動作をドラッグで続行するには、最初のontouchstartでevent.preventDefaultを呼び出さないでください。一度preventDefaultが呼び出されると、そのジェスチャシーケンス中に(つまり、すべての指が外れるまで)デフォルトの動作を元に戻す方法はありません。何らかの動きが発生するまで、ドラッグは認識されません。
ドラッグは最も単純な例として示されていますが、ピンチとダブルタップのデフォルトの動作も気にしています。「画像のコピー」またはテキストの選択というデフォルトのMobileSafariPressの動作は必要ありません。
これまでの試み:
- ontouchstartイベントを保存し、タイムアウト後、後で(Pressが認識される直前に)preventDefaultを呼び出します。無効。
- ' oncontextmenu 'をリッスンします。いいえ、デフォルトのPress動作は、このイベントを介して通知またはルーティングされていません。
- すべてのontouch*ハンドラーでデフォルトを防止し、ドラッグ/ピンチジェスチャを認識したら、initTouchEventまたはinitGestureEvent、あるいはその両方を使用して新しいイベントをシミュレートします。プログラムで作成されたイベントはすべてのコールバックにヒットしますが、Safariはそれらに注意を払っていないようで、デフォルトの動作をトリガーしません。
- Safariのプレス認識を偽の動きで分割します。Safariはわずかな動きでプレスをキャンセルしますが、少し傾斜することはできます。ontouchstartの直後に(上記のように)移動イベントをシミュレートしても、Safariが認識に失敗することはありません。指が「実際に」動かされていない場合は、Pressを認識します。
AppleのネイティブiOSジェスチャレコグナイザーのスタイルで実装されたフル機能のジェスチャレコグナイザーのセット(Javascript、ontouch *)があります。ジェスチャの認識に問題はありません。Safariが無料で提供するズーム/パン/ダブルタップの動作を再現するための良い方法がわかりません。
コードは必要ありません。私たちは、合理的な成功につながる理論的な解決策を探しています(「自分でパン/ズームを実装する」以外にも、興味のある巧妙な方法があれば)。私たちはまた、これを行うための他の同様の試みについて学ぶことに興味があります-確かに私たちはこれを最初に試したはずがありませんか?
代替TL;DR:タッチスタート以外でデフォルトのプレス(タップアンドホールドとも呼ばれます)を防ぐ方法はありますか?
android - すべてのビューのタッチ イベントを無効にする
すべてのビューでタッチ イベントを無効にする最善の方法は何ですか?
android - Androidで画像ボタンをドラッグするにはどうすればよいですか
アプリケーションでを使用ImageButton
しています。onTouch
イベントを使用onTouchListener
して、タッチイベントに応答しています。タッチ イベントが完了するとImageButton
、ターゲットの場所が表示されます。代わりに、 をドラッグするように見せたかったのですImageButton
。誰でも私を正しい方向に向けることができますか?
android - OnTouch ビットマップ オーバーレイ
画面上で異なるビットマップが実行されるゲーム(SurfaceView)を開発しています。速度が異なるため、2 つの文字が重なり合うことがあります。OnTouch 関数を使用して、プレイヤーがキャラクターに触れた瞬間をキャッチしました。ただし、2人のキャラクターが重なっている場合は、常に後ろにある方に「触れ」、前にある方には決して触れません。なんで?この動作を変更するにはどうすればよいですか? 前の方に触ってるから、後ろの方にずっと触ってるのがめんどくさい。問題が明確になることを願っています。
ありがとう!
編集:これは私の OnTouchEvent 関数です:
// ここに、表示するチビを含む構造体 (ベクター) があります
// touched は、ちびが以前に触れられたかどうかを示すフラグです
// ボートのビットマップ (画面上のどこか) をタッチすると、チビは安全になります
java - Mediaplayerを停止させることができません
このonTouchメソッドでAndroidメディアプレーヤーにサウンドの再生を停止させようとしていますが、停止しません。代わりに、最後の音に追加して音を開始するので、それらが重なっているのが聞こえます。ループさせてもループは止まりません。isPlayingパーツを使用せずにブール値を挿入して確認しても、機能しません。何かアドバイス?