Je dois implémenter un écran superposé (translucide) pour mon application, quelque chose de similaire à Showcase View
Mon FrameLayout
était d’utiliser FrameLayout
pour cette fonction, car elle est utilisée pour emstackr des éléments les uns sur les autres. Mais j’ai été surpris de voir que la bibliothèque ci-dessus utilise RelativeLayout
.
Ma question est de savoir quand utiliser FrameLayout
alors, sinon dans de tels cas? Quels sont les inconvénients si je vais à la manière FrameLayout
?
En règle générale, lorsque vous choisissez des mises en page, vous devez sélectionner la combinaison qui génère le plus petit nombre de vues de mise en page nestedes.
Spécifique à votre question, RelativeLayout est plus grand et plus capable que le FrameLayout beaucoup plus simple. Donc, pour des mises en page simples, cette dernière est probablement plus efficace. Mais si vous utilisez RelativeLayouts et ses options de positionnement ajoutées vous permettent d’implémenter votre interface graphique dans un plus petit nombre de vues de présentation, alors ce serait probablement un meilleur choix.
Voici une page qui traite de certains compromis et présente certains outils utiles à utiliser lors de la conception de vos mises en page. Il parle surtout de RelativeLayout et LinearLayout, mais est également à propos de votre choix entre RelativeLayout et Framelayout. Gardez à l’esprit que FrameLayout est une mise en page encore plus simple.
Modifier (2017): pour des mises en page encore plus compliquées, vous pouvez éviter les mises en page nestedes en utilisant ConstraintLayout.