React native 使用React Native Animated.View和PanResponder将可拖动项置于所有其他项之上

React native 使用React Native Animated.View和PanResponder将可拖动项置于所有其他项之上,react-native,React Native,我有一个包含以下组件的渲染方法: <View style={styles.root}> {p.parts.map((part, index) => <Animated.View key={`part${index}`} style={[ this.draggables[index].pan.getLayout() ]} {

我有一个包含以下组件的渲染方法:

<View style={styles.root}>
    {p.parts.map((part, index) =>
        <Animated.View
            key={`part${index}`}
            style={[
                this.draggables[index].pan.getLayout()
            ]}
            {...this.draggables[index].panResponder.panHandlers}
        >
            <SphereView part={part} />
        </Animated.View>
    )}
</View>
拖放是可行的,但问题是,当我拖动第二个元素时,它只显示在第一个元素的上方,而显示在所有其他元素的下方。我希望拖动的组件高于所有其他组件

我尝试过各种与zIndex的组合,但都没有效果

怎么做


编辑:我刚刚在Android中实现了“提升”风格。这是正确的方法吗(即使对于iOS)?

令人遗憾的是,大多数PanResponder的问题(或者至少是我见过的问题)都没有答案。你可以用zIndex。只需在拖动过程中将zIndex设置为999或其他值,然后在释放时,将其设置为原始zIndex+1,使其保持在其他图像的上方。如果将所有拖动的图元保持在999,则在拖动一次后,它们将不再重叠


Elevation仅适用于android,但zIndex适用于两者,不会产生阴影/3D效果

您能解释一下您的视图是什么样子吗?或者你可以用这个:你是如何解决这个问题的?请帮忙。我现在不能说,但当我问起的时候,我明确地说zIndex没有让它工作。
const styles = StyleSheet.create({
    root: {
        flexDirection: 'row'
    }
});