当TouchableHighlight的子项具有不透明度时,在按下TouchableHighlight之后其不透明度就会消失(设置为1)。
在此处运行示例:https://rnplay.org/apps/c0NIjQ
最小示例:
<TouchableHighlight onPress={() => {}}>
<Text style={{ opacity: 0.5 }}>
Press me!
</Text>
</TouchableHighlight>
有没有办法解决这个问题,还是React Native中的错误?
最佳答案
TouchableOpacity可以像我对TouchableHighlight(live code sample)的预期那样工作,因此使用TouchableOpacity可能是一种解决方法。但是请注意,TouchableOpacity没有处于 Activity 状态的底衬,因此您在底下渲染的任何东西都会在印刷时“闪耀”。因此,它不是TouchableHighlight的完美替代品。
我不确定TouchableHighlight的行为是否是故意的,是某种权衡还是实际上是一个错误,但是通过查看代码,您可以清楚地看出它在这方面与TouchableOpacity有何不同:
childStyles.opacity
if it is set, otherwise 1, when it goes inactive. 关于react-native - TouchableHighlight之子在发布时失去了不透明样式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41693073/