問題タブ [android-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.

0 投票する
1 に答える
241 参照

android - Lollipop でタッチ イベントをシミュレートできない理由

デバイスにタッチ イベントを挿入したい。そのために楽器を使っています。このメソッドは でうまく機能しますがJelly Bean、 では注入もエラーも発生しませんLollipop

SELinux検索したところ、セキュリティ上の目的で一部のアクションが実行されないようにするための強制が原因である可能性があることがわかりました。をダウンロードSELinux Mode Changerして に設定SELinuxし、 でステータスをpermissive確認して に設定されていることを確認しました。私のデバイスはルート化されており、ルート化して試してみました。しかし、実際には何が問題なのかわかりません。permissiveAbout phonesettingssu

これが私のコードです:

supoliciy上記のコードでわかるように実行しようとしましたが、何も機能しませんでした。

どうすればこの問題を解決できますか?

0 投票する
1 に答える
33 参照

android - アンドロイドで画面のタッチを垂直に処理する

VideoView横向きモードでWeb からビデオを再生しています。画面上で指を垂直に動かしたときに音量を制御したいと思います。下にスクロールすると音量が上がり、指を下にスクロールすると音量が下がります。このタイプのコントロールを取得するにはどうすればよいですか?

0 投票する
2 に答える
873 参照

android - Android タッチ イベントが ListView で停止する

Viewタッチを処理するコンテナがあります。を返すListviewoverridedを持っています(コンテナーがスワイプで展開されると、 が返されます)。タッチが発生するとコンテナに渡され、すべて問題ありません。しかし、アイテムのクリック処理を追加する必要があります。onTouch()falsetrueListviewViewListview

アイテムを設定すると、コンテナに渡されonClickListenerず、スタックされていることがログに表示されます(返されて何もしません)。私はこのようなアイテムを設定しようとしています:MotionEventListView onTouch()falseonTouchListener

しかし、結果は同じです。私のコンテナが touch イベントを受け取らない理由を誰かが説明できますListViewか?falseonTouch()

0 投票する
0 に答える
461 参照

android - サービスからのタッチイベントの注入 - Android

フォアグラウンド サービスに設定されているサービスからタッチ イベントを挿入したい (通知バーに通知を保持する)。デバイスがルート化されており、アプリがシステム アプリとして設定されています。プロセスを追跡するために、開発者向けオプションからタッチ ジェスチャを表示するようにデバイスを設定しました。2 つの問題があります。

  1. インジェクション コードを呼び出すと、タッチ ジェスチャがデバイスに表示されないことがあります。これは、タッチ イベントがインジェクトされていないことを意味します。

  2. タッチが行われ、画面にジェスチャが表示されると、シミュレートされたタッチによって発生するはずのアクションが実行される場合と実行されない場合があります。prs(タッチによって加えられる圧力)の値は、タッチがシミュレートされている場合は0ですが、通常の指のタッチによるprsは0より大きいことに気付きました。シミュレートされた場合、prsは> 0である必要があるようですアクションを実行するためにタッチします。

なぜこれが起こるのかわかりません。サービス内のインジェクション コードは次のとおりです。

どうすればこの問題を解決できますか? どんな助けでも大歓迎です。

0 投票する
1 に答える
1032 参照

android - Androidでシングルタッチで異なるビューのタッチイベントを取得するには?

下の画像でわかるように、ワンタッチで異なるビューのタッチイベントを取得するにはどうすればよいですか。

私は試してみました

ただし、他のボタンを再タッチした場合にのみ機能します。

ここでは、ワンタッチで 3 つの異なるビュー イベントが発生していることを確認できます。インスタグラムの検索画面でも確認できます。

ボタンのアクティビティがあり、ボタンのタッチ イベントでカスタム ダイアログを開きます。カスタム ダイアログには、Like、Share、View の 3 つのボタンがあります。MotionEvent.ACTION_UP の場合のように、ボタンに関連付けられた関数を呼び出したいと思います。 : ダイアログを閉じます。

これがダイアログを開くコードです

ここで明確なアイデアを得るために、開発者オプションからショータッチを有効にしてスクリーンショットを撮る2番目の画像があります。

ワンタッチ マルチアクション 指を立てずに連射

0 投票する
1 に答える
30 参照

android - 競合する onTouchEvent ハンドラ?

onTouchEventイベントが渡されたときにtrue を返すことにより、ビューが MotionEvent 自体を処理することを決定できることを理解していACTION_DOWNます。が返された場合true、後続のすべてのイベントを受け取りMOVE/UP/CANCELます。これはうまくいっています。

私がやりたいことは、この決定をACTION_MOVEイベントに延期することです. 子を含む ViewGroup があり、水平または垂直にスクロールするかどうかに応じて、ViewGroup または Child が処理を担当するようにしたいと考えています。MotionEvents

何かのようなもの:

それは可能ですか?現在、ViewGroup のみがMOVE/UP/CANCEL. ビューを転送する適切な子が見つからなかったためだと思います。

0 投票する
0 に答える
241 参照

android - android - 子と親ですべての onTouch イベントを処理する方法

イベントを処理し、処理時にいくつかの作業を行うRecyclerViewカスタムビューを使用しています。また、ルートビューでジェスチャを取得してイベントを処理したいと考えています。完全なイベントを処理する必要があります: ...両方のビューで。onTouchACTION_UPonTouchACTION_DOWNACTION_UP

しかし、私は問題があります:

  1. trueカスタムビューに戻ると、他のイベントを処理して正常に動作onTouchしますが、ルートビューのイベントは呼び出されません。
  2. falseカスタムビューに戻った場合、それは処理されACTION_DOWNて機能しませんが、ルートビューはすべてのイベントを取得し、正常に機能します。

では、子ビューとルート ビューの両方ですべてのイベントを処理するにはどうすればよいでしょうか。

0 投票する
0 に答える
522 参照

android - 方法: ViewPager がオーバーラップしているビューにタッチ イベントを渡している間、ViewPager が正常に機能できるようにする

タブを含む TabLayout と ViewPager があります。

ViewPager は TabLayout の上に配置されるため、ViewPager は TabLayout とオーバーラップします。その結果、ViewPager がタッチ イベントをインターセプトするため、異なるタブ間を移動する TabLayout ボタンが機能しません。

ViewPager を呼び出して問題を解決しようとしましたが、問題requestDisallowInterceptTouchEvent(true)は解決しませんでした。

また、カスタム ViewPager を作成し、次のように onTouchEvent() メソッドをオーバーライドしました。

これにより、TabLayout タブ ボタンはタッチ イベントを受け取ることができますが、ViewPager が十分にスクロールされた場合、ViewPager は別のフラグメントに自動的にスクロールしません。

一言で言えば問題: ViewPager がオーバーラップしている TabLayout が、ViewPager が TabLayout の前にインターセプトしているタッチ イベントを受信できるようにするにはどうすればよいですか?

前もって感謝します

編集:

アクティビティの基本的な XML 表現は次のとおりです。

注: TabLayoutの下に表示するのに十分なTabLayoutフラグメントの上マージンを設定することにより、ViewPagerページがTabLayoutの下にあるように見えるようにしました

onClickViewPager 内のビュー (他のフルスクリーン ビューを表示する機能) が展開される前のアクティビティの基本的な図を次に示します。

展開されていないレイアウト

そして、ページャーでクリックされたビューが他のコンテンツを明らかにした後の私のアクティビティの基本的な図は次のとおりです。

ここに画像の説明を入力

2 番目の図で、TabLayout が ViewPager コンテンツで覆われていることがわかります。