当显示键盘时,我试图仅调整视图的一个组成部分,因此我设置了 在我的Android清单文件中“ adjustNothing” ,我使用“ 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设置为AdjustResize或 AdjustNothing,将只有keyboardDidShow和keyboardDidHide事件是 在Android上可用 https://facebook.github.io/react-native/docs/keyboard
这是本机反应的错误,还是我做错了什么主意?
答案 0 :(得分:0)
这是React Native文档中的错误。
如andreicoman11在this reply中对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上记录该事件
答案 1 :(得分:-2)
将配置参数“ adjustNothing”更改为“ adjustPan”可以解决我的问题。仅“ adjustPan”,不设置“ adjustResize”。