Android Ontoucheventを一時的に無効/バイパスするにはどうすればよいですか
-
27-09-2019 - |
質問
現在、このイベントを使用しています
@Override
public boolean onTouchEvent(MotionEvent ev)
{
私が書いているゲームにユーザーからフィードバックを提供するため。このイベントは、完了するのに時間がかかるゲーム制御イベントを発射します(アニメーションが関係しているため)。私が抱えている問題は、画面に触れ続ける場合(このイベントを発射している場合)、タイムアウトエラーが発生します。
10-02 21:58:30.776:エラー/ActivityManager(67):理由:KeyDispatchingTimedout
基本的にアニメーションが実行されている間、私はこのイベントを必要としませんが、キューに並ぶのはいいことです。
タイムアウトを防ぎ、イベントをキューにするか、一時的に無効にするために何ができますか?
ありがとう。
解決
UIスレッドをブロックしていますか?あなたが求めていることをする理由はまったくないはずです(そしてそれは不可能です:)
他のヒント
ロマンが言ったことの横に。
Ontoucheventで寝たい()。
実装する簡単な方法は、その上にTransaperentレイアウトを追加することです(XMLの親の高さと幅に追加します)。
アニメーションでは、transaparentlayout.setclickabe(true)を開始します。アニメーションEnd TransAparentLayout.setClickabe(false);
とてもシンプルです。
所属していません StackOverflow