Тактильная обратная связь флаттера при длительном нажатии

Как мы должны вызвать тактильную обратную связь при длительном нажатии, используя класс Flutter HapticFeedback?

В настоящее время я работаю с HapticFeedback.selectionClick() во время моего метода OnTapDown, но ничего не происходит.

Я также уже добавил разрешение на вибрацию в файле манифеста Android. Я использую устройство Pixel2 XL для тестирования.


person Shashwat Vinod Singhal    schedule 10.01.2019    source источник


Ответы (1)


Для этого вы можете использовать подключаемый модуль vibrate.
Добавьте эту зависимость в свой файл pubspec.yaml.

vibrate: ^0.0.4  

Используйте эту функцию в своем классе для вибрации

void vibrate() async {
    bool canVibrate = await Vibrate.canVibrate;
    canVibrate ? Vibrate.feedback(FeedbackType.medium) : null;
  }

И вызовите вышеуказанную функцию из своего виджета, когда сработает событие onLongPress.

 onLongPress: () {
          vibrate();
        },

Подробнее о плагине вибрации.
Надеюсь, это поможет.

person Niraj Niroula    schedule 10.01.2019
comment
(вибрация) не распознается. - person Bisclavret; 09.07.2019
comment
@Bisclavret Удалите условие if, оно должно работать, думаю, оно было ошибочно вставлено из моего проекта. Смотрите редактирование. - person Niraj Niroula; 09.07.2019