Реагируй на Нативигацию, вернувшись обратно на Android Ошибка клавиатуры - PullRequest
0 голосов
/ 21 апреля 2020

В настоящее время у меня есть собственное приложение с одним главным экраном, которое переходит ко второму экрану с тремя текстовыми вводами. У меня проблема возникает только на Android. На втором экране, когда текстовый ввод находится в фокусе, и я пытаюсь перейти назад с помощью кнопки «назад», реагирует на навигацию, клавиатура скрывается, затем появляется снова, затем скрывается, а затем возвращается к первому экрану. Кажется, что когда я сначала нажимаю кнопку «назад», фокус ввода размыт, затем, когда я позволяю go, он снова фокусируется на входе, затем снова размывает его и затем перемещается назад. Не уверен, почему это происходит на Android. Работает как положено на iOS. Какие-нибудь решения?

Спасибо!

1 Ответ

0 голосов
/ 21 апреля 2020

enter image description here

Вы манипулировали keyboardHandlingEnabled опорой? Это может быть связано с этим. Или вы можете просто перехватить событие нажатия, используя Это руководство и сначала размыть текст, как показано ниже.

function ScreenWithCustomBackBehavior() {
  // ...

  useFocusEffect(
    React.useCallback(() => {
      const onBackPress = () => {
        if (isSelectionModeEnabled()) {
          disableSelectionMode();
          return true;
        } else {
          return false;
        }
      };

      BackHandler.addEventListener('hardwareBackPress', onBackPress);

      return () =>
        BackHandler.removeEventListener('hardwareBackPress', onBackPress);
    }, [isSelectionModeEnabled, disableSelectionMode])
  );

  // ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...