Mar*_*ies 5 react-native touchablehighlight react-navigation
我正在开发一个简单的 react-native 应用程序,并且在 TouchableHighlight 上遇到了一个问题:
按 时TouchableHighlight
,将显示一个新屏幕(使用 中的 StackNavigator react-navigation
)。按下后退按钮并返回到原始屏幕后,TouchableHighlight
仍然具有黑色背景色 - 这意味着它仍然突出显示。
我的问题是:
TouchableHighlight
-component的突出显示?这样我就可以在onPress
运行后禁用突出显示。TouchableHighlight
突出显示停留的可能原因是什么?我在没有导航的情况下在应用程序的其他部分使用它,我可以想象它与此有关。在TouchableHighlight
一个FlatList中存在。renderItems 方法如下所示:
let handlePress = () => {
this.props.navigation.navigate('DetailsScreen');
};
return <TouchableHighlight
onPress={handlePress}>
<Text>Some Text</Text>
</TouchableHighlight>;
Run Code Online (Sandbox Code Playgroud)
如果您需要/想要任何进一步的信息,请告诉我。我已经在 android 上测试了代码,使用带有 Marshmallow 的 Genymotion 模拟器。
版本是:
在这一点上,我很确定错误在我的代码中,因为TouchableHighlight
在我的应用程序的其他部分正常工作,并且它可能与导航调用有关,但我无法确定,究竟是为什么。我已经确保我的应用程序中没有异常或类似的东西,因此 onPress 方法成功完成。
小智 5
您可以用 Touchable opacity 替换 Touchablehighlight,并简单地将 activeOpactity 属性设置为值 1。它不会突出显示按下的按钮。
<TouchableOpacity activeOpacity={1}>....</TouchableOpacity>
Run Code Online (Sandbox Code Playgroud)
使用 @Kartiikeya 的提示并TouchableHighlight
与TouchableOpacity
和 返回交换后TouchableHighlight
,它现在按预期工作:
现在,onPress
执行后,按钮(无论是 aTouchableOpacity
还是 a TouchableHighlight
)都会失去作用。
我不确定为什么现在有效。明显的原因是,源代码的重新编译修复了错误 - 但我之前多次重新编译它以编写原始问题,因此这不是一个选择。我建议其他用户清除所有可能的缓存,尤其是执行以下步骤:
TouchableHighlight
为TouchableOpacity
,重新编译,检查错误是否还存在——如果不存在,则重新交换TouchableOpacity
为TouchableHighlight
归档时间: |
|
查看次数: |
5202 次 |
最近记录: |