我在ScrollView中有一个TextInput。
当TextInput处于焦点时,滚动条不起作用。此问题仅影响Android。
答案 0 :(得分:2)
设置
<ScrollView keyboardShouldPersistTaps="always"
结合下面的textInout组件(我为文本输入创建的自定义组件来解决此问题)解决了我的问题:
<TouchableOpacity
activeOpacity={1}
onPress={()=>this.input.focus()}>
<View pointerEvents="none"
<TextInput
ref = {(input) => this.input = input}
/>
</View>
</TouchableOpacity>
答案 1 :(得分:1)
在scrollView中使用 keyboardShouldPersistTaps
<ScrollView keyboardShouldPersistTaps="handled">
它解决了你的问题
在此检查文档https://facebook.github.io/react-native/docs/scrollview.html#keyboarddismissmode
答案 2 :(得分:0)
答案 3 :(得分:0)
对我来说真正重要的是添加:
在AndroidManifest.xml中android:windowSoftInputMode =“adjustResize”
以便集中textInput
答案 4 :(得分:0)
我对每个平台的处理方式不同(在Ios中,对inputText的关注就足够了,
不要忘记将this.scrollViewRef
ref放在包裹inputText的ScrollView
内,并将ref索引输入inputText
if (Platform.OS == 'android') {
this.inputRefs[field].measure((w, h, px, py, xPage, yPage) => {
this.scrollViewRef.scrollTo({ x: 0, y: yPage, animated: true })
this.inputRefs[field].focus()
})
}
this.inputRefs[field].focus()