Je veux atteindre les objectifs suivants:
Les images suivantes sont ce que je peux faire pour le moment, mais ce n’est PAS ce que je veux .
Exemple de code que j'ai maintenant:
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>
);
}
Pour le mettre en mots, je veux
Notez que Parent A et Element B doivent tous deux être absolument positionnés, et que les éléments A et B doivent être clickables ...!
Je pense qu'il y a différentes façons de procéder en fonction de ce dont vous avez exactement besoin, mais une solution serait de simplement insérer les deux éléments A et B dans le parent 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>
UPDATE: supposément, zIndex
a été ajouté à la bibliothèque react-native
. J'ai essayé de le faire fonctionner sans succès. Vérifiez ici pour plus de détails sur le correctif.
Vous ne pouvez pas non plus obtenir la solution souhaitée avec z-index CSS, car z-index est uniquement relatif à l'élément parent. Donc, si vous avez les parents A et B avec les enfants respectifs a et b, l'indice z de b est uniquement relatif par rapport aux autres enfants de B et l'indice z de a est uniquement relatif aux autres enfants de A.
Les z-index de A et B sont relatifs l'un par rapport à l'autre s'ils partagent le même élément parent, mais tous les enfants de l'un partagent le même z-index relatif à ce niveau.