Différence entre View et ViewGroup sous Android

Réponses:

129

Vue

  1. View Les objets sont les blocs de construction de base des éléments de l'interface utilisateur (UI) dans Android.
  2. View est une simple boîte rectangulaire qui répond aux actions de l'utilisateur.
  3. Sont des exemples EditText, Button,CheckBox etc ..
  4. Viewfait référence à la android.view.Viewclasse, qui est la classe de base de toutes les classes d'interface utilisateur.

ViewGroup

  1. ViewGroupest le conteneur invisible. Il tient ViewetViewGroup
  2. Par exemple, LinearLayoutest le ViewGroupqui contient Button (View), et d'autres dispositions également.
  3. ViewGroup est la classe de base pour les mises en page.
saibaba vali
la source
10
Je pense également qu'il convient de noter, ViewGroup est une sous-classe de View
Pinkerton
Donc, si ViewGroup est une sous-classe de View signifie que View est une classe de base pour les Layouts et non ViewGroup?
Shivanshu
1
@Shivanshu Cela dépend de ce que vous entendez par «classe de base». La classe Viewà son tour s'étendObject , alors diriez-vous que Objectc'est la classe de base pour les mises en page?
horcrux
57

L'image ci-dessous est la réponse . Ne prenez pas cela trop complexe.

entrez la description de l'image ici

Kenju
la source
7
Droit au but. L'image l'explique de manière très pragmatique, ce qui est bien, mais la définition de la réponse ci-dessus semble également nécessaire pour ajouter quelque chose d'important à la réponse dans son ensemble.
ivanleoncz
31
  1. A ViewGroupest une vue spéciale qui peut contenir d'autres vues (appelées enfants). Le groupe de vues est la classe de base des présentations et des conteneurs de vues. Cette classe définit également la ViewGroup.LayoutParamsclasse qui sert de classe de base pour les paramètres de disposition.

    ViewLa classe représente le bloc de construction de base pour les composants de l'interface utilisateur. Une vue occupe une zone rectangulaire sur l'écran et est responsable du dessin et de la gestion des événements. View est la classe de base des widgets, qui sont utilisés pour créer des composants d'interface utilisateur interactifs (boutons, champs de texte, etc.).

  2. Exemple: ViewGroup (LinearLayout), View (TextView)

Référence

Munawwar Hussain Shelia
la source
14

Viewest un élément de base de UI(Interface utilisateur) sous Android. Une vue est une petite boîte rectangulaire qui répond aux entrées de l'utilisateur. Par exemple: EditText, Button, CheckBox, etc ..

ViewGroupest un conteneur invisible d'autres vues (vues enfants) et d'autres groupes de vues. Par exemple: LinearLayoutest un groupe de vues qui peut contenir d'autres vues.

ViewGroupest un type de vue spécial qui est étendu de View en tant que classe de base. ViewGroupest la classe de base des mises en page.

comme le nom l'indique, View est singulier et le groupe de vues est le ViewGroup.

plus d'infos: http://www.herongyang.com/Android/View-ViewGroup-Layout-and-Widget.html

MS Gadag
la source
4

ViewGroupest lui-même un Viewqui fonctionne comme un conteneur pour d'autres vues. Il étend les fonctionnalités de la Viewclasse afin de fournir des moyens efficaces de mettre en page les vues enfants.

Par exemple, LinearLayoutest un ViewGroupqui vous permet de définir l'orientation dans laquelle vous voulez que les vues enfants soient placées, c'est tout ce que vous avez à faire et vous LinearLayoutoccuperez du reste.

Varundroid
la source
2

en ViewGroupvous pouvez ajouter d'autres Views comme enfant. ViewGroupest la classe de base des mises en page et des conteneurs de vues.

Mohammad Rahchamani
la source
1

Viewest le composant SuperClass of All comme TextView, EditText, ListView,etc. tandis que ViewGroupest Collection of Views (TextView, EditText, ListView, etc..), un peu comme conteneur.

Prashant Jajal
la source
1

Un objet View est un composant de l'interface utilisateur (UI) comme un bouton ou une zone de texte, et il est également appelé widget.

Un objet ViewGroup est une présentation, c'est-à-dire un conteneur d'autres objets ViewGroup (présentations) et objets View (widgets). Il est possible d'avoir une mise en page dans une autre mise en page. Cela s'appelle la mise en page imbriquée, mais cela peut augmenter le temps nécessaire pour dessiner l'interface utilisateur.

L'interface utilisateur d'une application est créée à l'aide d'une hiérarchie d'objets ViewGroup et View. Dans Android Studio, il est possible d'utiliser la fenêtre de l'arborescence des composants pour visualiser cette hiérarchie.

L'éditeur de mise en page dans Android Studio peut être utilisé pour faire glisser et déposer des objets View (widgets) dans la mise en page. Cela simplifie la création d'une mise en page.

bart
la source
1

En termes simples, View est l'élément d'interface utilisateur avec lequel nous interagissons lorsque nous utilisons une application, comme un bouton, éditons du texte et une image, etc.View est la classe enfant d'Android.view.View While View group est le conteneur qui contient toutes ces vues à l'intérieur il en plus de plusieurs autres groupes de vues comme linéaire ou Frame Layout, etc. Exemple si nous concevons et prenons l'élément racine comme disposition linéaire maintenant notre disposition principale est une disposition linéaire à l'intérieur, nous pouvons prendre un autre groupe de vues (c'est-à-dire une autre disposition linéaire) vues comme les boutons ou la vue de texte, etc.

Bhupinder Singh
la source
0

Un ViewGroup décrit la disposition des vues dans son groupe. Les deux exemples de base de ViewGroups sont LinearLayout et RelativeLayout. Pour briser encore plus LinearLayout, vous pouvez avoir soit Vertical LinearLayout ou Horizontal LinearLayout. Si vous choisissez Vertical LinearLayout, vos vues s'empileront verticalement sur votre écran. Les deux exemples les plus basiques de Views sont TextView et Button. Ainsi, si vous avez un ViewGroup of Vertical LinearLayout, vos Views (par exemple TextViews et Buttons) s'alignent verticalement sur votre écran.

Lorsque les autres affiches affichent des ViewGroups imbriqués, ils signifient, par exemple, qu'une des lignes de mon Vertical LinearLayout pourrait en fait, au niveau inférieur, être plusieurs éléments disposés horizontalement. Dans ce cas, j'aurais un Horizontal LinearLayout comme l'un des enfants de mon Vertical LinearLayout de niveau supérieur.

Exemple de groupes de vues imbriqués:
Parent ViewGroup = Vertical LinearLayout

Row1: TextView1
Row2: Button1
Row3: Image TextView2 Button2 <- Linéaire horizontal imbriqué dans Vertical Linear
Row4: TextView3
Row5: Button3

sv Math Tutor
la source
1
Exemple de groupes de vues imbriqués:
sv Math Tutor