在 React-Native 中手动设置不透明度的音量 onPress of TouchableOpacity
Set opacity's volume onPress of TouchableOpacity manually in React-Native
我想弄清楚如何更改 React-Native 的 TouchableOpacity 组件的不透明度,这意味着我不喜欢执行按下时不透明度的默认值,我想要不透明度降低。
根据documentation for this purpose the Animated API应使用:
Opacity is controlled by wrapping the children in an Animated.View, which is added to the view hierarchy. Be aware that this can affect layout.
所以,我做到了,这就是它的样子:
<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>
被 onPress 调用的 hideKeyboard 方法从内部调用 changeOpacity 方法,看起来是这样的:
changeOpacity() {
Animated.timing(
this.state.opacity,
{
toValue: this.state.opacity === 1 ? 0 : 1,
duration: 500
}
).start();
}
this.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
/>
我想弄清楚如何更改 React-Native 的 TouchableOpacity 组件的不透明度,这意味着我不喜欢执行按下时不透明度的默认值,我想要不透明度降低。
根据documentation for this purpose the Animated API应使用:
Opacity is controlled by wrapping the children in an Animated.View, which is added to the view hierarchy. Be aware that this can affect layout.
所以,我做到了,这就是它的样子:
<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>
被 onPress 调用的 hideKeyboard 方法从内部调用 changeOpacity 方法,看起来是这样的:
changeOpacity() {
Animated.timing(
this.state.opacity,
{
toValue: this.state.opacity === 1 ? 0 : 1,
duration: 500
}
).start();
}
this.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
/>