Android:包含 textInput 的 ScrollView 不滚动
Posted
技术标签:
【中文标题】Android:包含 textInput 的 ScrollView 不滚动【英文标题】:Android: ScrollView which contains textInput not scrolling 【发布时间】:2017-10-20 23:06:18 【问题描述】:我有一个包含太多文本输入的滚动视图。一切正常,直到我将 textAlign: 'right'
添加到 TextInput 样式。之后 ScrollView 不响应滚动。这个问题刚刚发生在android中,在ios中它按预期工作。我在snack.expo中添加了一个简单的代码
render()
let TextInput2 = (
<TextInput
style=
flex: 1,
textAlign: 'right',
height: 50
placeholder="placeholder"
/>
);
return (
<ScrollView>
TextInput2
TextInput2
TextInput2
TextInput2
TextInput2
TextInput2
TextInput2
TextInput2
TextInput2
TextInput2
TextInput2
TextInput2
TextInput2
TextInput2
</ScrollView>
);
【问题讨论】:
【参考方案1】:如果您在ScrollView
中有太多项目,那么也许您应该考虑使用ListView
。我有一个类似的问题。在太多项目滚动后的某个时刻,ScrollView
在 Android 中首先开始失败。我认为 i-devices 在渲染 react native 组件方面有更好的优化,这可以防止它们过早失败。
【讨论】:
感谢您的回答。问题是 textAlign: 对。我添加此代码只是为了显示问题。【参考方案2】:我不确定为什么 textAlign: 'right' 会导致这种情况,但我注意到 ios 和 android TextInput 之间存在很大差异。在 Android 上,如果 TextInput 框小于字体大小,它会在自身内部创建一个可滚动的 TextInput,从而阻止滚动视图成为响应者。尝试增加每个 TextInput 的高度和宽度,以确保不是这种情况。
【讨论】:
以上是关于Android:包含 textInput 的 ScrollView 不滚动的主要内容,如果未能解决你的问题,请参考以下文章
通过使用为textInput阵营本地更新在状态阵列对象的元素
ScrollView嵌套TextInput Android无法滑动