237 votes

Définir l'ordre Z des vues de RelativeLayout dans Android

Je voudrais définir l'ordre z des vues d'un RelativeLayout dans Android.

Je sais qu'une façon de faire est d'appeler bringToFront .

Existe-t-il une meilleure façon de procéder ? Ce serait formidable si je pouvais définir l'ordre z dans le fichier xml de mise en page.

4 votes

View.bringToFront() ; est la réponse.

1voto

fullMoon Points 66

Ou bien, placez le bouton ou les vues qui se chevauchent dans un FrameLayout. Ensuite, le RelativeLayout du fichier xml respectera l'ordre des mises en page enfants au fur et à mesure de leur ajout.

0voto

The Fluffy T Rex Points 275

Vérifiez si vous avez une élévation sur l'une des vues en XML. Si c'est le cas, ajoutez de l'élévation à l'autre élément ou supprimez l'élévation pour résoudre le problème. À partir de là, c'est l'ordre des vues qui dicte ce qui vient au-dessus de l'autre.

0voto

Ankit Points 862

Vous pouvez également utiliser l'exemple de code ci-dessous pour obtenir le même résultat.

ViewCompat.setElevation(sourceView, ViewCompat.getElevation(mCardView)+1);

C'est rétrocompatible. Ici mCardView est une vue qui devrait être en dessous de sourceView .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X