Android OpenGL-ES アプリケーションの長押しを検出するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-01 17:45:02
オリジナル
799 人が閲覧しました

How to Detect Long Presses in Android OpenGL-ES Applications?

Android での OpenGL-ES の長押し検出

Android プログラミングでは、長押しの検出はさまざまなユーザー インタラクションに不可欠です。従来、開発者はタッチ イベントを検出するために onTouchEvent(MotionEvent event) メソッドを利用してきました。ただし、この方法では、専用の長押し検出機能は提供されません。

代替アプローチ

質問で述べたように、回避策の 1 つは、ACTION_DOWN タッチと ACTION_UP タッチの両方に登録することです。イベントを検出し、その 2 つの間の経過時間を計算します。これにより長押し検出をシミュレートできますが、明示的なタイマー処理と手動のしきい値決定が必要です。

GestureDetector の利用

幸いなことに、Android は長押し検出のためのより堅牢なソリューションを提供します。 : GestureDetector クラス。 GestureDetector は、タッチ イベントを自動的に監視し、長押しなどのジェスチャを検出することでプロセスを簡素化します。実装方法は次のとおりです。

<code class="java">GestureDetectorCompat gestureDetector = new GestureDetectorCompat(context, new GestureDetector.OnGestureListener() {
    @Override
    public boolean onDown(MotionEvent ev) {
        // Handle initial touch
        return true;
    }

    @Override
    public void onShowPress(MotionEvent ev) {
        // Triggered when a long press is detected
    }

    // Other gesture listening methods
});

@Override
public boolean onTouchEvent(MotionEvent event) {
    gestureDetector.onTouchEvent(event);
    return super.onTouchEvent(event);
}</code>
ログイン後にコピー

この例では、GestureDetectorCompat が作成され、GestureDetector.OnGestureListener 実装で構成されます。 onDown メソッドと onShowPress メソッドは、それぞれ初期タッチと長押しの検出を処理します。 onTouchEvent メソッドは、タッチ イベント監視用の GestureDetector を登録します。

結論

GestureDetector を活用することで、Android OpenGL での長押しを検出するための信頼性が高く効率的なソリューションが得られます。手動によるタイマー処理やしきい値の決定を必要としない ES アプリケーション。

以上がAndroid OpenGL-ES アプリケーションの長押しを検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!