React-Native Touchableopacity不正确包装

时间:2018-10-05 10:05:04

标签: css react-native

我正在渲染平面列表,并且根据索引存在一些要渲染的图像。

所以它看起来像这样:https://ibb.co/ep2zye

我正在这样绘制扁平化列表的左侧:

if(index % 2 == 0){

            return {
                marginTop: -SCREEN_WIDTH/12 + -(index-2)*SCREEN_WIDTH/20,
                marginRight: SCREEN_WIDTH / 35,
                marginLeft: SCREEN_WIDTH / 35,
                margin: SCREEN_WIDTH / 50,
                width: this.width,
                height: this.height,
                opacity: this.state.opacity,
                borderRadius: SCREEN_WIDTH / 36,
            }
        }

渲染如下:

return (
            <Animated.View pointerEvents={this.state.pointer}>
                <TouchableOpacity onPress={this.captureAnimation.bind(this, item, index)} style={{backgroundColor: 'darkred'}}>
                    <AnimatedImage source={{uri: 'http://' + item.info.picture_path}} style={this.renderStyle(index)}/>
                    <View style={{position: 'absolute', bottom: SCREEN_WIDTH/20, left: SCREEN_WIDTH/24, width: '80%'}}>
                        <Text style={{fontSize: SCREEN_WIDTH / 27, color: '#ffffff',fontWeight: 'bold'}}>{item.info.title} </Text>
                        <Text style={{fontSize: SCREEN_WIDTH / 42, color: '#ffffff',fontWeight: 'bold'}}> {item.date} </Text>
                    </View>
                </TouchableOpacity>
            </Animated.View>
        );

所以我不明白为什么,可触摸的不透明度不是包装全部图像,而是包装部分图像?即使我做marginTop,touchableopacity也应该包装起来吗?谁能告诉我这是怎么回事?

1 个答案:

答案 0 :(得分:0)

我通过将整个数组分成2个来解决它,然后分别在左侧和右侧进行渲染。是的,现在它应该按原样包装了,但是仍然没有解释为什么在我展示的示例中它不起作用。