让VideoCard可设定焦点且可按下。
现在,我们需要使VideoCard可设定焦点并且可按下,以使我们能够与其进行交互并导航到它们。我们将使用一个名为TouchableOpacity的组件来做到这一点。- 打开
VideoCard.tsx,然后从’react-native’中导入TouchableOpacity。
- 将View元素替换为TouchableOpacity。保留
style属性。
onPress() 处理程序。
- 将一个名为
pressFunction的新属性传递给VideoCard并赋予它某个类型函数。 - 将
onPress属性添加到TouchableOpacity并设置其值以调用新的pressFunction。
onFocus() 和onBlur() 属性来做到这一点。
- 从react中导入
useState,并使用状态focused和函数setFocused对其进行初始化。 - 将
focused的值初始化为false。
- 向TouchableOpacity添加一个
onFocus属性,然后将其设置为调用值为true的setFocused()函数。 - 将
onBlur属性添加到TouchableOpacity,然后将其设置为调用值为false的setFocused()函数。
- 按如下方式修改
videoCardContainer。 - 创建两个名称分别为focused和unfocused的新样式属性,并按如下方式设置其样式。
- 修改TouchableOpacity以根据focused的值添加新的样式属性(如果为true则为focused,如果为false则为unfocused)。
VideoCard.tsx代码应该如下所示:
- 刷新应用。现在,您应该能够通过按键盘上方向键/箭头键上的任何键来聚焦于视频卡片,如下面视频所示。

视频卡片聚焦

