Intereting Posts
Изменение цвета одиночного чертежа в RecyclerView изменит все чертежи Не удалось запустить команду aapt – продолжает возвращать «Android SDK Build-tools» Android самый быстрый способ декодировать mp3 в pcm данные Adb: ошибка при загрузке разделяемых библиотек: libncurses.so.5: невозможно открыть файл общих объектов: нет такого файла или каталога Что означают GC_FOR_MALLOC, GC_EXPLICIT и другие GC_ * в Android Logcat? Android: отключите ленивую загрузку списка FragmentTabHost: нет закладки, известной для тега null Почему findFragmentById возвращает старый фрагмент перед вызовом для замены FragmentLayout? Android получить полную ширину для пользовательского диалога Получить изображение пользователя из Facebook Graph-API Элементы ListView не визуально «подсвечиваются» при выборе в режиме контекстного действия Настройка textSize программно Есть ли способ автоматически получить доступ к Logcat двойным щелчком? Gradle: FAILURE: не удалось определить, какие задачи выполнить Как сделать анимацию для всплывающего окна в android

Как я могу поместить событие двойного щелчка на ImageView в Android?

Я должен разместить событие двойного щелчка в представлении изображения. При каждом двойном щелчке по изображению, оно должно быть Zoom.But. Я обнаружил, что такого события, как двойной щелчок в Image Veiw, не существует. Может ли кто-нибудь сказать мне, как это сделать? Заранее спасибо..

Попробуйте этот подход:

  • Add boolean doubleClick = false;
  • И Handler doubleHandler
  • В onClick проверить, является ли doubleClick is true
  • Если true, это двойной щелчок
  • Если нет, установите для параметра doubleClick значение true и используйте обработчики postDelayed чтобы вернуть его в значение false, т.е. 500 мс

Вы можете использовать onDoubleTapListener .

Эта ссылка может помочь вам.

Ответ Maaalte помог мне написать этот код.

Объявить переменную doubleClick глобально

  boolean doubleClick = false; 

Логика для двойного щелчка

  imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Runnable r = new Runnable() { @Override public void run() { doubleClick = false; } }; if (doubleClick) { //your logic for double click action doubleClick = false; }else { doubleClick=true; handler.postDelayed(r, 500); } } });