Android: 包含文本输入的滚动视图无法滚动

6

我有一个scrollView,其中包含太多的textInput。一切都正常工作,直到我将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>
    );
  }
2个回答

1
如果在 ScrollView 中有太多项,则可能需要考虑使用 ListView。我遇到过类似的问题。当滚动项太多时,ScrollView 在 Android 上首先出现故障。我认为 i 设备在渲染 React Native 组件方面具有更好的优化,可以防止它们早期失败。

谢谢你的回答。问题在于textAlign: right。我添加了这段代码只是为了展示这个问题。 - Meysam Izadmehr

1
我不确定为什么textAlign: 'right'会导致这种情况,但我注意到ios和android的TextInput之间存在很大的差异。在Android上,如果TextInput框小于字体大小,则会在其内部创建可滚动的TextInput,从而防止scrollview成为响应者。尝试增加每个TextInput的高度和宽度,以确保不是这种情况。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接