我正在研究React Native中的一些动画,我注意到在Android上,transform: [{ translateY: height }]
并不像iOS上那样占据整个屏幕。在Android上它只需要它自己的高度。如何让Android动画看起来像iOS?
答案 0 :(得分:2)
尝试将动画样式添加到列表项的顶视图中,并将列表的宽度和高度与屏幕匹配
答案 1 :(得分:1)
问题是Touchable包装图像:
<TouchableHighlight key={item.id} onPress={handlePress}>
<Animated.View
onLayout={handleOnLayout}
style={[this.animatedImageStyle(item.id)]}
>
<Image
onLayout={handleOnLayout}
ref={node => (this.nodes[item.id] = node)}
source={{ uri: item.uri }}
style={[styles.image]}
/>
</Animated.View>
</TouchableHighlight>
移动Animated.View
以外的Touchable Wrapper解决了这个问题:
<View key={item.id}>
<Animated.View
onLayout={handleOnLayout}
style={[this.animatedImageStyle(item.id)]}
>
<Image
onLayout={handleOnLayout}
ref={node => (this.nodes[item.id] = node)}
source={{ uri: item.uri }}
style={[styles.image]}
/>
</Animated.View>
<TouchableWithoutFeedback onPress={handlePress}>
<View style={[styles.image, { opacity: 0, marginTop: -75 }]} />
</TouchableWithoutFeedback>
</View>