如何在 react-native 的不同屏幕上以编程方式设置 windowSoftInputMode?
How to set windowSoftInputMode programmatically on different screens in react-native?
在我的 react-native 应用程序中,当键盘弹出时,我需要在不同的屏幕上有不同的屏幕行为。
在某些屏幕中我需要屏幕向上移动,而在某些屏幕中我不想改变屏幕位置等
可以通过在AndroidManifest.xml
文件中将android:windowSoftInputMode
的值设置为adjustNothing
或adjustResize
来实现个别行为。
但是在清单文件中设置这些值会改变所有屏幕的行为。
有没有办法在不同的屏幕上以编程方式更改它?
在 android 代码中看起来 achievable using a getWindow() call。如何在本机反应中做到这一点?
尝试使用 ScrollView 而不是 View,然后将其包装在 KeyboardAvoidingView 上
试试这个组件react-native-android-keyboard-adjust
当您不想向上移动视图的组件安装时,设置 AndroidKeyboardAdjust.setAdjustPan()
并且当该组件卸载时将其重置为 AndroidKeyboardAdjust.setAdjustResize()
或适合您条件的任何选项
查看this答案
在我的 react-native 应用程序中,当键盘弹出时,我需要在不同的屏幕上有不同的屏幕行为。
在某些屏幕中我需要屏幕向上移动,而在某些屏幕中我不想改变屏幕位置等
可以通过在AndroidManifest.xml
文件中将android:windowSoftInputMode
的值设置为adjustNothing
或adjustResize
来实现个别行为。
但是在清单文件中设置这些值会改变所有屏幕的行为。
有没有办法在不同的屏幕上以编程方式更改它?
在 android 代码中看起来 achievable using a getWindow() call。如何在本机反应中做到这一点?
尝试使用 ScrollView 而不是 View,然后将其包装在 KeyboardAvoidingView 上
试试这个组件react-native-android-keyboard-adjust
当您不想向上移动视图的组件安装时,设置 AndroidKeyboardAdjust.setAdjustPan()
并且当该组件卸载时将其重置为 AndroidKeyboardAdjust.setAdjustResize()
或适合您条件的任何选项
查看this答案