KeyboardAvoidingView + ListView
Posted
技术标签:
【中文标题】KeyboardAvoidingView + ListView【英文标题】: 【发布时间】:2017-06-05 09:33:33 【问题描述】:我有一个提交表单界面,使用ListView
组件,并且行包含TextInput
组件,我想使用KeyboardAvoidingView
以避免键盘cover
行中的TextInput,但是它不起作用,该行没有向上移动。
我的代码:
render()
return (
<KeyboardAvoidingView style=styles.container behavior='padding'>
<ListView
dataSource = this.state.dataSource
renderRow = this._renderRow.bind(this)
onEndReachedThreshold = 0
overflow = 'hidden'
keyboardDismissMode = 'on-drag'
removeClippedSubviews = true
/>
</KeyboardAvoidingView>
);
【问题讨论】:
【参考方案1】:我使用了一个模块来解决键盘问题:https://github.com/APSL/react-native-keyboard-aware-scroll-view
你也可以这样使用:
import KeyboardAwareScrollView from 'react-native-keyboard-aware-scroll-view';
render()
return (
<KeyboardAwareScrollView extraHeight=130>
// your code here
</KeyboardAwareScrollView>
);
如果遇到任何使用问题,请告诉我。
【讨论】:
在他们提到 android 原生具有此功能的文档中,您可以通过在 AndroidManifest.xml 中设置 windowSoftInputMode 来轻松启用它 并且从他们的模块中他们支持的一些功能也列出以上是关于KeyboardAvoidingView + ListView的主要内容,如果未能解决你的问题,请参考以下文章
即使删除了行为,KeyboardAvoidingView 也无法在 Android 上运行
使用KeyboardAvoidingView时,react-navigation标题后面的内容
React Native KeyboardAvoidingView 无法正常工作
KeyboardAvoidingView 在本机反应中使用过多的填充来推高内容