Javascript 设置不透明度';在React Native中手动按下TouchableOpacity的s音量
我正在试图找出如何更改React Native的TouchableOpacity组件的不透明度的体积,这意味着我不喜欢执行按压时不透明度的默认值,我希望不透明度较低 根据本协议,为此目的,应使用: 不透明度通过将子对象包装到动画.View(添加到视图层次结构)中来控制。请注意,这可能会影响布局 所以,我做到了,看起来是这样的:Javascript 设置不透明度';在React Native中手动按下TouchableOpacity的s音量,javascript,reactjs,button,react-native,touchableopacity,Javascript,Reactjs,Button,React Native,Touchableopacity,我正在试图找出如何更改React Native的TouchableOpacity组件的不透明度的体积,这意味着我不喜欢执行按压时不透明度的默认值,我希望不透明度较低 根据本协议,为此目的,应使用: 不透明度通过将子对象包装到动画.View(添加到视图层次结构)中来控制。请注意,这可能会影响布局 所以,我做到了,看起来是这样的: <Animated.View style={{ opacity: this.state.opacity._value }}> <Touchabl
<Animated.View style={{ opacity: this.state.opacity._value }}>
<TouchableOpacity
onPress={this.hideKeyboard.bind(this)}
style={{ opacity: this.state.opacity._value }}
>
<Text style={buttonTextStyle}>Cancel</Text>
</TouchableOpacity>
</Animated.View>
changeOpacity() {
Animated.timing(
this.state.opacity,
{
toValue: this.state.opacity === 1 ? 0 : 1,
duration: 500
}
).start();
}
此.state.opacity在构造函数中声明:
constructor(props) {
super(props);
this.state = { opacity: new Animated.Value(1) };
}
有了所有这些,行为(TouchableOpacity的不透明度onPress的体积)不会改变,它仍然是默认值。该文档还模糊地介绍了setOpacityTo方法,但由于文档中提供的详细描述,我不知道如何使用它。如何手动配置不透明度?您尝试过吗
<TouchableOpacity
activeOpacity={.7} // default is .2
... other props here
/>
谢谢,但我试过了,动画太慢了。它不只是在两个值之间弹出,而是在.7上保持一段时间,然后再返回。这个问题可能发生在开发模式中,通常在react native中,尝试构建生产版本并进行检查。我创建了一个新项目,它具有这种TouchableOpacity,并且在那里它可以像我预期的那样工作。因此,我在实际项目中拥有的代码量会影响其性能,即使在调试器关闭的情况下,是否正确?它不取决于代码量,应该在生产和实际设备上正常工作。好吧,仅由TouchableOpacity组成的基本项目在测试模式下确实正常工作,但实际项目,正如我上面所说的,不会像测试项目那样快速地将不透明度更改回正常值。