Отключить или изменить регион смахивания циферблата на Android Wear - PullRequest
0 голосов
/ 25 октября 2018

Я пишу приложение-флаттер (в котором используются жестовые детекторы) и хочу изменить область прокрутки или отключить перелистывание верхнего уровня на часах, где оно перетаскивает циферблат над приложением (также буду признателен за любые другие решения, т. Е.в Java, что я мог бы использовать).

Приложение перетаскивает карту (например, Google Maps) и отлично работает на телефоне.На часах, однако, пролистывание слева направо перетаскивает приложение, чтобы позволить циферблату переместиться.

Эта область перетаскивания, кажется, занимает более 50% экрана часов при перетаскивании, что означает, что вы не можетеперетащите карту, она просто перетягивает циферблат (чтобы перетаскивать пальцем можно только правую часть приложения).Я отмечаю, что на Картах Google требуется только около 10% левого экрана в качестве области перетаскивания, чтобы смахнуть циферблат, что выглядит нормально.

Я попробовал

Future<bool> _willPopCallback() async {
  print("PoppedCallback");
  return false; //also tried true
}

home: new WillPopScope(
        onWillPop: _willPopCallback,
  child: ....

как частьнастройки MaterialApp, но, похоже, это не вызывает никакого обратного вызова в любое время, поэтому я предполагаю, что событие отличается от этого?

Есть ли у кого-нибудь какие-либо идеи, в идеале, как изменить область стандартного удара по износу (работает так же, как Goole Maps), или, если необходимо, отключить его (так как вы все еще можете выйти с помощью кнопок).

1 Ответ

0 голосов
/ 25 октября 2018

Из Wear OS dev docs , вот как вы можете отключить свайп для отклонения:

вы можете расширить тему по умолчанию (в ресурсе стиля) и установитьandroid:windowSwipeToDismiss атрибут false:

<resources>
  <style name="AppTheme" parent="@android:style/Theme.DeviceDefault">
    <item name="android:windowSwipeToDismiss">false</item>
  </style>
</resources>

Обратите внимание, что при первом запуске также рекомендуется, чтобы ваша активность давала пользователю команду нажать аппаратную кнопку питания для выхода.

...