gpt4 book ai didi

react-native - React Native - Animated.View 中的可触摸不透明度正在触发背景 ListView 的事件

转载 作者:行者123 更新时间:2023-12-04 14:28:22 24 4
gpt4 key购买 nike

我有一个带有 ScrollView 的列表,我正在尝试为其添加过滤器选项。单击过滤器图标时,会出现 position:absolute 的叠加层将显示在 Animated.View 中。我在覆盖 View 中有按钮 TouchableOpacity
过滤器.js

    export default class FilterFade extends React.Component {
constructor(props) {
super(props);
this.state = {
visible: props.visible,
};
};

componentWillMount() {
this._visibility = new Animated.Value(this.props.visible ? 1 : 0);
}

componentWillReceiveProps(nextProps) {

if (nextProps.visible) {
this.setState({ visible: true });
}
Animated.timing(this._visibility, {
toValue: nextProps.visible ? 1 : 0,
duration: 300,
}).start(() => {
this.setState({ visible: nextProps.visible });
});
}

render() {
const { visible, style, children, ...rest } = this.props;

const containerStyle = {
opacity: this._visibility.interpolate({
inputRange: [0, 1],
outputRange: [0, 1],
}),
transform: [
{
scale: this._visibility.interpolate({
inputRange: [0, 1],
outputRange: [1.1, 1],
}),
},
],
};

const combinedStyle = [containerStyle, style];
return (
<Animated.View style={combinedStyle} {...rest}>
{children}
</Animated.View>
);
}
}

View .js
<FilterFade visible={this.state.isFilterVisible}>
<View style={styles.filterView}>
<TouchableOpacity onPress={() => this.getFilteedStories}>
<Text style={styles.filterOption}> My Stories </Text>
</TouchableOpacity>
<TouchableOpacity onPress={() => this.getFilteedStories}>
<Text style={styles.filterOption}> All Stories </Text>
</TouchableOpacity>
</View>
</FilterFade>

样式
 filterView :{
position: 'absolute',
top: 0,
right: 5,
backgroundColor: #CCC,
width: 150,
paddingTop: 15,
paddingBottom: 15,
zIndex: 999,
},
filterOption: {
color: "#FFF",
fontSize: 15

}

现在,当我点击过滤器中的 TouchableOpacity 文本时,点击事件在 FadeView 后面的 Listview 中触发。

有人可以让我知道如何在动画绝对 View 中添加新闻事件。

提前致谢。

最佳答案

使用来自“react-native-gesture-handler”而不是“react-native”的 TouchableOpacity。

从'react-native-gesture-handler'导入{ TouchableOpacity};

关注这个帖子 Cannot click TouchableOpacity in animated.view using React native

关于react-native - React Native - Animated.View 中的可触摸不透明度正在触发背景 ListView 的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55221850/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com