首页 文章

反应原生flatlist androidTV焦点问题

提问于
浏览
0

环境

反应:16.3.1反应原生:0.55.3

描述

我已经使用一些水平FlatLists在React Native上实现了一个多维列表视图 . 一切都正确显示 . 但是,当我将焦点一直移动到行尾时,当我尝试向右移动时焦点将自动转到下面的行(已经在行的末尾) .

有没有一个解决方案来防止这种情况,并确保焦点在到达平面列表的末尾时停止?

重现步骤

垂直渲染FlatList,每行是另一个水平FlatList . 滚动到行尾,尝试向右移动,焦点将向下移动到下一行 .

预期行为由于我们位于当前行的末尾,因此预期行为应为none .

实际行为如果在行的后端,焦点将转到下一行

我搜索过文档,这是firetv / androidtv的一个特定问题 .

与此相同的问题:https://github.com/facebook/react-native/issues/20100但该错误是"closed"

示例代码:从'react'导入React,;从'react-native'导入{View,Text,TouchableOpacity,ScrollView};

export default class App extends Component {render(){const data = []; for(let i = 0; i <10; i)data.push(i);

return (
  <View>
    {[1, 2].map(() => (
      <ScrollView horizontal style={{height: 210}}>
        {data.map(i => (
          <TouchableOpacity key={i}>
            <View
              style={{
                backgroundColor: 'grey',
                width: 200,
                height: 200,
              }}
            >
              <Text style={{fontSize: 60}}>{i}</Text>
            </View>
          </TouchableOpacity>
        ))}
      </ScrollView>
    ))}
  </View>
);

}

enter image description here

1 回答

  • 0

    目前我发现这对于tvOS或者android或firetv是不可能的 . 除非我弄错了,否则我假设尝试创建connectedTv应用程序的人数很少,或者如果他们有一个非常非常简单的界面

相关问题