Je suis confus quant à la différence entre LinearLayout, RelativeLayout et AbsoluteLayout. Quelqu'un pourrait-il s'il vous plaît me dire les différences exactes entre eux?
LinearLayout
signifie que vous pouvez aligner les vues une par une (verticalement/horizontalement).
RelativeLayout
signifie basé sur la relation de vues de ses parents et d'autres vues.
ConstraintLayout
est similaire à RelativeLayout en ce sens qu'il utilise des relations pour positionner et redimensionner les widgets, mais offre une flexibilité supplémentaire et est plus facile à utiliser dans l'éditeur de mise en page.
WebView
pour charger des pages HTML, statiques ou dynamiques.
FrameLayout
pour charger les enfants les uns au dessus des autres, comme les cartes à l'intérieur d'un cadre, nous pouvons en placer un au dessus des autres ou n'importe où à l'intérieur du cadre.
obsolète - AbsoluteLayout
signifie que vous devez indiquer la position exacte de la vue.
Pour plus d'informations, veuillez consulter cette adresse https://developer.Android.com/guide/topics/ui/declaring-layout#CommonLayouts
FrameLayout est conçu pour bloquer une zone de l'écran afin d'afficher un seul élément. En règle générale, FrameLayout doit être utilisé pour gérer une seule vue enfant, car il peut s'avérer difficile d'organiser les vues enfant de manière à pouvoir être redimensionnées à différentes tailles d'écran sans que les enfants ne se chevauchent. Vous pouvez cependant ajouter plusieurs enfants à un FrameLayout et contrôler leur position dans FrameLayout en affectant la gravité à chaque enfant, à l'aide de l'attribut
Android:layout_gravity
.Les vues enfant sont dessinées dans une pile, avec le dernier enfant ajouté en haut. La taille de FrameLayout est la taille de son plus grand enfant (plus le rembourrage) visible ou non (si le parent de FrameLayout le permet).
RelativeLayout est un utilitaire très puissant pour la conception d'une interface utilisateur, car il permet d'éliminer les groupes de vues imbriqués et de conserver la hiérarchie de votre disposition à plat, ce qui améliore les performances. Si vous utilisez plusieurs groupes LinearLayout imbriqués, vous pourrez peut-être les remplacer par un seul RelativeLayout.
(Documents actuels ici )
Un TableLayout est composé d'un certain nombre d'objets
TableRow
, chacun définissant une ligne (en fait, vous pouvez avoir d'autres enfants, ce qui sera expliqué ci-dessous). Les conteneurs TableLayout n'affichent pas les lignes de bordure pour leurs lignes, leurs colonnes ou leurs cellules. Chaque ligne a zéro ou plusieurs cellules; chaque cellule peut contenir un seul objet View. La table a autant de colonnes que la ligne contenant le plus de cellules. Une table peut laisser des cellules vides. Les cellules peuvent s'étendre sur des colonnes, comme c'est le cas en HTML.La largeur d'une colonne est définie par la ligne avec la cellule la plus large dans cette colonne.
Remarque : La disposition absolue est obsolète.
LinearLayout: Un modèle qui organise ses enfants en une seule ligne horizontale ou verticale. Il crée une barre de défilement si la longueur de la fenêtre dépasse celle de l'écran. Cela signifie que vous pouvez aligner les vues une par une (verticalement/horizontalement).
RelativeLayout: Ceci vous permet de spécifier l'emplacement des objets enfants les uns par rapport aux autres (enfant A à gauche de l'enfant B) ou au parent (aligné au sommet du parent). Il est basé sur la relation de points de vue de ses parents et d’autres points de vue.
WebView: pour charger des pages HTML, statiques ou dynamiques.
Pour plus d'informations, consultez ce lien: http://developer.Android.com/guide/topics/ui/layout-objects.html
LinearLayout - Dans LinearLayout, les vues sont organisées en orientation verticale ou horizontale.
RelativeLayout - RelativeLayout est beaucoup plus complexe que LinearLayout et fournit donc beaucoup plus de fonctionnalités. Les vues sont placées, comme leur nom l'indique, les unes par rapport aux autres.
FrameLayout - Il se comporte comme un objet unique et ses vues enfant se chevauchent. FrameLayout prend la taille correspondant à l'élément enfant le plus important.
Mise en page du coordinateur - Il s'agit du plus puissant ViewGroup introduit dans la bibliothèque de support Android. Il se comporte comme FrameLayout et dispose de nombreuses fonctionnalités à coordonner entre ses vues enfants, par exemple, un bouton flottant et une barre de menu, une barre d'outils avec vue défilable.
Grande explication ici:
https://www.cuelogic.com/blog/using-framelayout-for-designing-xml-layouts-in-Android
LinearLayout organise les éléments côte à côte horizontalement ou verticalement.
RelativeLayout vous aide à organiser vos éléments d'interface utilisateur en fonction de règles spécifiques. Vous pouvez spécifier des règles telles que: aligner cela sur le bord gauche du parent, le placer à gauche/droite de cet élément, etc.
AbsoluteLayout est destiné au positionnement absolu, c’est-à-dire que vous pouvez spécifier les coordonnées exactes de la vue.
FrameLayout permet de placer des vues sur l'axe Z. Cela signifie que vous pouvez empiler vos éléments de vue les uns sur les autres.