Как скрыть клавиатуру после касания за пределами текстового поля? - PullRequest
0 голосов
/ 08 мая 2019

У меня есть кроссплатформенное приложение.У меня есть форма, которая имеет более одного TextField.Я хочу скрыть клавиатуру, когда пользователь нажимает за пределами текстового поля, поскольку она закрывает кнопку, которая отправляет данные.

Как это сделать?

В моем файле .html у меня есть:

<ScrollView>
  <GridLayout ios:style="margin-top:50">
    <StackLayout class="form">

      <!-- Some TextView -->

    </StackLayout>
  </GridLayout>
</ScrollView>

РЕДАКТИРОВАТЬ

Это Детская площадка , которая показывает ошибку.

Ответы [ 3 ]

0 голосов
/ 08 мая 2019

Котлин:

yourTextView.onFocusChangeListener = View.OnFocusChangeListener { v, hasFocus -> if (!hasFocus) {
 //hide Keyboard
  }
}

Также добавьте в родительский макет 'focusableInTouchMode = true' в XML

0 голосов
/ 09 мая 2019

В Android скрыть клавиатуру с:

public void hideSoftKeyboard(Activity mActivity) {
    InputMethodManager inputManager = (InputMethodManager) mActivity.getSystemService(Activity.INPUT_METHOD_SERVICE);
    inputManager.hideSoftInputFromWindow(mActivity.getCurrentFocus().getWindowToken(), 0);
}
0 голосов
/ 08 мая 2019

Добавьте слушателя tap к своему макету и скройте клавиатуру, используя

iOS

import * as utils from "tns-core-modules/utils/utils";

utils.ios
        .getter(UIApplication, UIApplication.sharedApplication)
        .keyWindow
        .endEditing(true);

Android

utils.ad.dismissSoftInput();

Редактировать

Вы можете просто вызвать метод dismissSoftInput() для TextField, если в вашем Page всего один TextField.Приведенный выше код помогает, если у вас есть TextField s на вашем Page и вы не уверены, какой из них на самом деле сфокусирован.

Пример игровой площадки

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