この記事はAndroidスマホ用のアプリ開発の中で、
今後の開発で再使用性が高いと思われるコーディングをまとめたものです。
Javaの開発経験、XML構文規則、Androidのアプリ開発経験がある方を対象としています。
Androidのアプリ開発でお役にたててれば、嬉しいです。
(これからAndroidのアプリ開発やJavaでの開発を始めたい方への案内は、記事の最後で紹介します)
ClickListenerの連続タップの防止とダブルタップを検知する
ポイント
Viewコンポーネントの代表的な操作にタップ(クリック)はあります。
タップの派生として、ダブルタップ、ロングタップがあります。
タップを検知するリスナーとしてはClickListener、ロングタップはLongClickListenerがあります。
しかし、ダブルタップを検知するリスナーがありません。
今回は、ClickListenerの連続タップの防止とダブルタップを検知する方法を紹介します。
View.OnClickListener
連続タップの防止とダブルタップの検知
連続タップの防止とダブルタップの検知は、前回タップしたシステム時刻(ミリ秒)から経過した時間で判定します。
連続タップを防止する場合は経過した時間が300ミリ秒以内であれば処理をスキップします。
ダブルタップはその逆で経過した時間が300ミリ秒以内であれば処理を実行します。
private long taps = 0;
:
TextView title = findViewById(R.id.title);
title.setOnClickListener(view -> {
if (System.currentTimeMillis() - taps < 300) {
taps = 0;
// ダブルタップの処理を記述する
:
} else {
taps = System.currentTimeMillis();
}
});
title.setOnLongClickListener(view -> {
// ロングタップの処理を記述する
:
return true;
});
:ClickListenerとLongClickListenerを併用する場合はLongClickListenerの戻り値にTrueを指定します。
falseを指定した場合、ClickListenerのイベントは発生しません。
今回は、ここまでです。
連続タップの防止とダブルタップを検知しているAndroidアプリです。
誤字脱字、意味不明でわかりづらい、
もっと詳しく知りたいなどのご意見は、
このページの最後にあるコメントか、
こちらから、お願いいたします♪
ポチッとして頂けると、
次のコンテンツを作成する励みになります♪
これからAndroidのアプリ開発やJavaでの開発を始めたい方へ
アプリケーション開発経験がない方や、アプリケーション開発経験がある方でも、JavaやC#などのオブジェクト指向言語が初めての方は、Androidのアプリ開発ができるようになるには、かなりの時間がかかります。
オンラインスクールでの習得を、強くおススメします。
未経験者からプログラマーを目指すのに最適です。まずは無料カウンセリングから♪

ゲーム系に強いスクール、UnityやUnrealEngineを習得するのに最適です。まずは無料オンライン相談から♪

参考になったら、💛をポッチとしてね♪


コメント欄