Unterschied zwischen View und ViewGroup in Android

Antworten:

128

Aussicht

  1. View Objekte sind die Grundbausteine ​​von UI-Elementen in Android.
  2. View ist ein einfaches Rechteckfeld, das auf die Aktionen des Benutzers reagiert.
  3. Beispiele hierfür sind EditText, Button, CheckBoxetc ..
  4. Viewbezieht sich auf die android.view.ViewKlasse, die die Basisklasse aller UI-Klassen ist.

ViewGroup

  1. ViewGroupist der unsichtbare Behälter. Es hält ViewundViewGroup
  2. Zum Beispiel LinearLayoutist dies die ViewGroupSchaltfläche (Ansicht) und andere Layouts.
  3. ViewGroup ist die Basisklasse für Layouts.
Saibaba Vali
quelle
10
Ich denke auch erwähnenswert, ViewGroup ist eine Unterklasse von View
Pinkerton
Wenn ViewGroup eine Unterklasse von View ist, bedeutet View, dass View die Basisklasse für Layouts ist, nicht ViewGroup?
Shivanshu
1
@ Shivanshu Es kommt darauf an, was du mit "Basisklasse" meinst. Die Klasse Viewwiederum erweitert sichObject . Würden Sie also sagen, dass dies Objectdie Basisklasse für Layouts ist?
Horkrux
57

Das Bild unten ist die Antwort . Nimm es nicht zu komplex.

Geben Sie hier die Bildbeschreibung ein

Kenju
quelle
7
Auf den Punkt. Das Bild erklärt es auf sehr pragmatische Weise, was gut ist, aber die Definition der obigen Antwort scheint auch notwendig zu sein, um der gesamten Antwort etwas Wichtiges hinzuzufügen.
ivanleoncz
31
  1. A ViewGroupist eine spezielle Ansicht, die andere Ansichten enthalten kann (untergeordnete Ansichten genannt). Die Ansichtsgruppe ist die Basisklasse für Layouts und Ansichtscontainer. Diese Klasse definiert auch die ViewGroup.LayoutParamsKlasse, die als Basisklasse für Layoutparameter dient.

    ViewKlasse stellt den Grundbaustein für Benutzeroberflächenkomponenten dar. Eine Ansicht nimmt einen rechteckigen Bereich auf dem Bildschirm ein und ist für das Zeichnen und die Ereignisbehandlung verantwortlich. Ansicht ist die Basisklasse für Widgets, mit denen interaktive UI-Komponenten (Schaltflächen, Textfelder usw.) erstellt werden.

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

Referenz

Munawwar Hussain Shelia
quelle
14

Viewist ein grundlegender Baustein von UI(Benutzeroberfläche) in Android. Eine Ansicht ist ein kleines rechteckiges Feld, das auf Benutzereingaben reagiert. Zum Beispiel: EditText, Button, CheckBox, etc ..

ViewGroupist ein unsichtbarer Container mit anderen Ansichten (untergeordneten Ansichten) und anderen Ansichtsgruppen. Beispiel: LinearLayoutist eine Ansichtsgruppe, die andere Ansichten enthalten kann.

ViewGroupist eine spezielle Art von Ansicht, die von View als Basisklasse erweitert wird. ViewGroupist die Basisklasse für Layouts.

Wie der Name schon sagt, ist View singulär und die Gruppe der Views ist die ViewGroup.

Weitere Informationen: http://www.herongyang.com/Android/View-ViewGroup-Layout-and-Widget.html

MS Gadag
quelle
4

ViewGroupist selbst ein ViewContainer, der als Container für andere Ansichten fungiert. Es erweitert die Funktionalität vonView Klasse, um effiziente Möglichkeiten zum Layout der untergeordneten Ansichten bereitzustellen.

Zum Beispiel LinearLayoutist ein ViewGroup, mit der Sie die Ausrichtung definieren , in dem Sie Kind wollen Ansichten gelegt werden, das ist alles , was Sie tun müssen , und LinearLayoutwird der Rest kümmern.

Varundroid
quelle
2

in ViewGroupkönnen Sie einige andere Views als Kind hinzufügen . ViewGroupist die Basisklasse für Layouts und Ansichtscontainer.

Mohammad Rahchamani
quelle
1

Viewist die SuperClass of All-Komponente wie TextView, EditText, ListView,etc .., während ViewGroupCollection of Views (TextView, EditText, ListView, etc..)etwas wie Container ist.

Prashant Jajal
quelle
1

Ein Ansichtsobjekt ist eine Komponente der Benutzeroberfläche (UI) wie eine Schaltfläche oder ein Textfeld und wird auch als Widget bezeichnet.

Ein ViewGroup-Objekt ist ein Layout, dh ein Container mit anderen ViewGroup-Objekten (Layouts) und View-Objekten (Widgets). Es ist möglich, ein Layout in einem anderen Layout zu haben. Es wird als verschachteltes Layout bezeichnet, kann jedoch die zum Zeichnen der Benutzeroberfläche erforderliche Zeit verlängern.

Die Benutzeroberfläche für eine App wird mithilfe einer Hierarchie von ViewGroup- und View-Objekten erstellt. In Android Studio ist es möglich, das Komponentenbaumfenster zu verwenden, um diese Hierarchie zu visualisieren.

Mit dem Layout-Editor in Android Studio können Sie Ansichtsobjekte (Widgets) per Drag & Drop in das Layout ziehen. Es vereinfacht die Erstellung eines Layouts.

Bart
quelle
1

In einfachen Worten: Ansicht ist das UI-Element, mit dem wir interagieren, wenn wir eine App verwenden, z. B. Schaltfläche, Text und Bild bearbeiten usw. Ansicht ist die untergeordnete Klasse von Android.view.View Während die Ansichtsgruppe der Container ist, der alle diese Ansichten enthält Zusätzlich zu mehreren anderen Ansichtsgruppen wie Linear- oder Rahmenlayout usw. Beispiel: Wenn wir das Stammelement als lineares Layout entwerfen und verwenden, ist unser Hauptlayout jetzt ein lineares Layout. Wir können eine andere Ansichtsgruppe (dh ein anderes lineares Layout) und viele andere verwenden Ansichten wie Schaltflächen oder Textansicht usw.

Bhupinder Singh
quelle
0

Eine ViewGroup beschreibt das Layout der Ansichten in ihrer Gruppe. Die beiden grundlegenden Beispiele für ViewGroups sind LinearLayout und RelativeLayout. Wenn Sie das lineare Layout noch weiter unterbrechen, können Sie entweder das vertikale lineare Layout oder das horizontale lineare Layout verwenden. Wenn Sie Vertical LinearLayout wählen, werden Ihre Ansichten vertikal auf Ihrem Bildschirm gestapelt. Die beiden grundlegendsten Beispiele für Ansichten sind TextView und Button. Wenn Sie also eine ViewGroup of Vertical LinearLayout haben, werden Ihre Ansichten (z. B. TextViews und Schaltflächen) vertikal auf Ihrem Bildschirm ausgerichtet.

Wenn auf den anderen Postern verschachtelte ViewGroups angezeigt werden, bedeutet dies beispielsweise, dass eine der Zeilen in meinem vertikalen linearen Layout auf der unteren Ebene möglicherweise mehrere horizontal angeordnete Elemente enthält. In diesem Fall hätte ich ein horizontales lineares Layout als eines der untergeordneten Elemente meines vertikalen linearen Layouts der obersten Ebene.

Beispiel für verschachtelte ViewGroups:
Parent ViewGroup = Vertical LinearLayout

Zeile1: TextView1
Zeile2: Schaltfläche1
Zeile3: Bild TextView2 Schaltfläche2 <- Horizontal Linear verschachtelt in Vertikal Linear
Zeile4: TextView3
Zeile5: Schaltfläche3

sv Mathe-Tutor
quelle
1
Beispiel für verschachtelte ViewGroups:
Math Tutor