我想要实现以下目标:
我现在拥有的代码示例:
renderA() {
return (
<View style={ position: 'absolute', zIndex: 0 }> // parent of A
<View style={ zIndex: 2 }> // element A
</View>
<View style={ zIndex: 2 }> // element A
</View>
</View>
);
}
renderB() {
return (
<View style={ position: 'absolute', zIndex: 1 }> // element B
</View>
);
}
render() {
return (
<View>
{this.renderA()}
{this.renderB()}
</View>
);
}
用文字说,我想要
请注意, Parent A 和 Element B 都必须绝对定位,并且元素A和元素B都必须点击?!
答案 0 :(得分:19)
在Android设备上使用elevation
代替zIndex
elevatedElement: {
zIndex: 3, // works on ios
elevation: 3, // works on android
}
这对我来说很好!
答案 1 :(得分:17)
我相信根据您的需要,有不同的方法可以做到这一点,但一种方法是将元素A和B都放在父A中。
<View style={{ position: 'absolute' }}> // parent of A
<View style={{ zIndex: 1 }} /> // element A
<View style={{ zIndex: 1 }} /> // element A
<View style={{ zIndex: 0, position: 'absolute' }} /> // element B
</View>
答案 2 :(得分:3)
答案 3 :(得分:1)
更新:据说,zIndex
已添加到react-native
库中。我一直试图让它成功而没有成功。检查here以了解修复的详细信息。
答案 4 :(得分:0)
您也无法通过CSS z-index实现所需的解决方案,因为z-index仅相对于父元素。因此,如果您的父母A和B分别带有孩子a和b,则b的z索引仅相对于B的其他孩子,而a的z索引仅相对于A的其他孩子。
如果A和B共享相同的父元素,则A和B的Z索引是相对的,但是在这个级别上,一个子的所有子元素都将共享相同的相对Z索引。
答案 5 :(得分:0)
您可以在样式表中使用 Elevation 属性
containerText: {
elevation: 3,
backgroundColor: '#FB8500',
padding: 3,
borderRadius: 15,
marginTop: -30,
marginLeft: -10,
},