Реагировать на собственные события клавиатуры, не работающие с android: windowSoftInputMode = "AdjustNothing" - PullRequest
0 голосов
/ 17 октября 2018

Я пытаюсь настроить только один компонент моего представления, когда отображается клавиатура, поэтому я установил "AdjustNothing" в моем файле манифеста Android и управляю движением компонента с помощью "keyboardDidHide" прослушиватель событий и TextInput onFocus .Я попробовал это, но я ничего не получаю от слушателя, когда клавиатура прячется ...

Вот мой файл AnidroidManifest:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<application
  android:name=".MainApplication"
  android:label="@string/app_name"
  android:icon="@mipmap/ic_launcher"
  android:allowBackup="false"
  android:theme="@style/AppTheme">
  <activity
    android:name=".MainActivity"
    android:label="@string/app_name"
    android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
    android:screenOrientation="portrait"
    android:windowSoftInputMode="adjustNothing">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
  </activity>
  <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
</application>

И вот чтоя хочу сделать, когда клавиатура прячется:

keyboardDidHide() {
this.animateS(false);
}

, поэтому она оживляет на месте.

Я пробовал с AdjustResize и AdjustPan , но онипереместить весь вид вверх, и я не хочу этого.анимация - это простой перевод вверх, когда клавиатура отображается, и вниз, когда скрываются триггеры событий.

В документах:

Обратите внимание, что если вы установите android: windowSoftInputMode, чтобы настроитьResize или AdjustNothing, на Android будут доступны только события keyboardDidShow и keyboardDidHide https://facebook.github.io/react-native/docs/keyboard

Это ошибка с реакцией native или я делаю что-то не так, есть идеи?

Ответы [ 2 ]

0 голосов
/ 07 марта 2019

Это ошибка в документации React Native.

Как andreicoman11 указано в в этом ответе на проблему с GitHub: ... keyboard events are actually not triggered with adjustNothing because of the way it's implemented, and unfortunately there's no way around that ...

React native не удалось документировать, что на https://facebook.github.io/react-native/docs/keyboard

0 голосов
/ 07 декабря 2018

Изменение параметра конфигурации «AdjustNothing» на «AdjustPan» может решить мою проблему.Только «AdjustPan», не устанавливайте с «AdjustResize».

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