Réponses:
LinearLayout
signifie que vous pouvez aligner les vues une par une (verticalement / horizontalement).
RelativeLayout
signifie basé sur la relation des vues de ses parents et d'autres vues.
ConstraintLayout
est similaire à RelativeLayout en ce qu'il utilise des relations pour positionner et dimensionner 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 des cartes dans un cadre, on peut les placer les unes au-dessus des autres ou n'importe où à l'intérieur du cadre.
obsolète - AbsoluteLayout
signifie que vous devez indiquer la position exacte où la vue doit être.
Pour plus d'informations, veuillez consulter cette adresse https://developer.android.com/guide/topics/ui/declaring-layout#CommonLayouts
AbsoluteLayout
est obsolète pour une raison; si le contenu ne correspond pas, il jette les choses au hasard. Vous êtes mieux avec un LinearLayout
et régler tous ses rembourrages sur 0
.
FrameLayout est conçu pour bloquer une zone sur l'écran pour afficher un seul élément. En règle générale, FrameLayout doit être utilisé pour contenir une seule vue enfant, car il peut être difficile d'organiser les vues enfants de manière à s'adapter à différentes tailles d'écran sans que les enfants se chevauchent. Vous pouvez cependant ajouter plusieurs enfants à un FrameLayout et contrôler leur position dans le FrameLayout en attribuant une gravité à chaque enfant à l'aide de l'
android:layout_gravity
attribut.Les vues enfants sont dessinées dans une pile, avec l'enfant le plus récemment ajouté en haut. La taille du FrameLayout est la taille de son plus grand enfant (plus le remplissage), visible ou non (si le parent du FrameLayout le permet).
Un RelativeLayout est un utilitaire très puissant pour la conception d'une interface utilisateur, car il peut éliminer les groupes de vues imbriqués et maintenir 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 se compose d'un certain nombre d'
TableRow
objets, 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 de lignes de bordure pour leurs lignes, colonnes ou cellules. Chaque ligne a zéro ou plusieurs cellules; chaque cellule peut contenir un objet View. Le tableau a autant de colonnes que la ligne avec le plus de cellules. Un tableau peut laisser des cellules vides. Les cellules peuvent s'étendre sur des colonnes, comme elles le peuvent 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: mise en page 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 la longueur de l'écran, ce qui signifie que vous pouvez aligner les vues une par une (verticalement / horizontalement).
RelativeLayout: Cela vous permet de spécifier l'emplacement des objets enfants les uns par rapport aux autres (enfant A à gauche de l'enfant B) ou par rapport au parent (aligné sur le haut du parent). Il est basé sur la relation des 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, reportez-vous à 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 enfants se chevauchent. FrameLayout prend la taille du plus grand élément enfant.
Disposition du coordinateur - Il s'agit du ViewGroup le plus puissant introduit dans la bibliothèque de support Android. Il se comporte comme FrameLayout et dispose de nombreuses fonctionnalités à coordonner parmi ses vues enfants, par exemple, un bouton flottant et une barre collante, une barre d'outils avec une vue déroulante.
Excellente 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: alignez ceci sur le bord gauche du parent, placez-le à gauche / droite de cet élément, etc.
AbsoluteLayout est pour le positionnement absolu, c'est-à-dire que vous pouvez spécifier les coordonnées exactes où la vue doit aller.
FrameLayout permet le placement des vues le long de l'axe Z. Cela signifie que vous pouvez empiler vos éléments de vue les uns au-dessus des autres.