Dans Android, à partir du niveau 21 de l'API, les éléments du fichier de mise en page obtiennent leur ordre Z à la fois à partir de la façon dont ils sont classés dans le fichier, comme décrit dans la réponse correcte, et à partir de leur élévation, une valeur d'élévation plus élevée signifiant que l'élément obtient un ordre Z plus élevé.
Cela peut parfois causer des problèmes, notamment avec les boutons qui apparaissent souvent au-dessus d'éléments qui, selon l'ordre du XML, devraient se trouver en dessous d'eux dans l'ordre Z. Pour résoudre ce problème, il suffit de définir le paramètre android:elevation
des éléments de votre mise en page XML pour correspondre à l'ordre Z que vous souhaitez obtenir.
Si vous définissez l'élévation d'un élément dans la mise en page, il commencera à projeter une ombre. Si vous ne voulez pas de cet effet, vous pouvez supprimer l'ombre avec le code suivant :
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
myView.setOutlineProvider(null);
}
Je n'ai pas trouvé de moyen de supprimer l'ombre d'une vue surélevée dans le fichier xml de mise en page.
4 votes
View.bringToFront() ; est la réponse.