Różnica między View i ViewGroup w systemie Android

Odpowiedzi:

130

Widok

  1. View obiekty są podstawowymi blokami konstrukcyjnymi elementów interfejsu użytkownika (UI) w systemie Android.
  2. View to prosta prostokątna ramka, która reaguje na działania użytkownika.
  3. Przykładami są EditText, Button, CheckBoxitd ..
  4. Viewodnosi się do android.view.Viewklasy, która jest klasą bazową wszystkich klas interfejsu użytkownika.

ViewGroup

  1. ViewGroupto niewidzialny pojemnik. Posiada ViewiViewGroup
  2. Na przykład LinearLayoutto ViewGroup, że zawiera przycisk (Widok), a także inne układy.
  3. ViewGroup to klasa bazowa dla układów.
saibaba vali
źródło
10
też myślę, że warto zauważyć, ViewGroup jest podklasą View
Pinkerton
Czyli jeśli ViewGroup jest podklasą View, oznacza to, że View jest klasą bazową dla układów, a nie ViewGroup?
Shivanshu
1
@Shivanshu To zależy od tego, co rozumiesz przez „klasę bazową”. Klasa Viewz kolei rozszerzaObject , więc można powiedzieć, że Objectto klasa bazowa dla układów?
horkruks
59

Poniżej obrazek jest odpowiedzią . Nie traktuj tego zbyt skomplikowanie.

wprowadź opis obrazu tutaj

kenju
źródło
7
Prosto do celu. Obraz wyjaśnia to w bardzo pragmatyczny sposób, co jest dobre, ale definicja powyższej odpowiedzi wydaje się również konieczna, aby dodać coś ważnego do całości odpowiedzi.
ivanleoncz
31
  1. A ViewGroupto specjalny widok, który może zawierać inne widoki (nazywane dziećmi). Grupa widoków jest klasą bazową dla układów i kontenerów widoków. Ta klasa definiuje również ViewGroup.LayoutParamsklasę, która służy jako klasa bazowa dla parametrów układów.

    Viewclass reprezentuje podstawowy blok konstrukcyjny dla składników interfejsu użytkownika. Widok zajmuje prostokątny obszar na ekranie i jest odpowiedzialny za rysowanie i obsługę zdarzeń. Widok jest klasą bazową dla widżetów, które służą do tworzenia interaktywnych komponentów UI (przyciski, pola tekstowe itp.).

  2. Przykład: ViewGroup (LinearLayout), View (TextView)

Odniesienie

Munawwar Hussain Shelia
źródło
14

Viewto podstawowy blok konstrukcyjny UI(interfejsu użytkownika) w systemie Android. Widok to małe prostokątne pole, które reaguje na dane wejściowe użytkownika. Np: EditText, Button, CheckBox, itd ..

ViewGroupjest niewidocznym kontenerem innych widoków (widoków podrzędnych) i innych grup widoków. Np .: LinearLayoutto grupa widoków, która może zawierać inne widoki.

ViewGroupjest szczególnym rodzajem widoku, który jest rozszerzany z widoku jako jego klasy bazowej. ViewGroupjest klasą bazową dla układów.

jak wskazuje nazwa Widok jest pojedynczy, a grupa widoków to ViewGroup.

więcej informacji: http://www.herongyang.com/Android/View-ViewGroup-Layout-and-Widget.html

MS Gadag
źródło
4

ViewGroupsam w sobie Viewdziała jako kontener dla innych widoków. Rozszerza funkcjonalność Viewklasy, aby zapewnić wydajne sposoby układania widoków potomnych.

Na przykład LinearLayoutjest to, ViewGroupktóry pozwala zdefiniować orientację, w której chcesz układać widoki potomne, to wszystko, co musisz zrobić i LinearLayoutzajmie się resztą.

Varundroid
źródło
2

w ViewGroupmożesz dodać inne Viewjako dziecko. ViewGroupjest klasą bazową dla układów i kontenerów widoków.

Mohammad Rahchamani
źródło
1

Viewjest komponentem SuperClass of All, takim jak TextView, EditText, ListView,itp., a ViewGroupjest to Collection of Views (TextView, EditText, ListView, etc..), trochę jak kontener.

Prashant Jajal
źródło
1

Obiekt View jest składnikiem interfejsu użytkownika (UI), takim jak przycisk lub pole tekstowe, i jest również nazywany widżetem.

Obiekt ViewGroup to układ, czyli kontener innych obiektów ViewGroup (układów) i obiektów View (widżetów). Możliwe jest umieszczenie układu w innym układzie. Nazywa się to układem zagnieżdżonym, ale może wydłużyć czas potrzebny do narysowania interfejsu użytkownika.

Interfejs użytkownika aplikacji jest zbudowany przy użyciu hierarchii obiektów ViewGroup i View. W Android Studio można użyć okna Drzewo komponentów do wizualizacji tej hierarchii.

Edytor układu w Android Studio może służyć do przeciągania i upuszczania obiektów widoku (widżetów) w układzie. Upraszcza tworzenie układu.

Bart
źródło
1

W prostych słowach View to element interfejsu użytkownika, z którym wchodzimy w interakcje, gdy używamy aplikacji, np. Przycisk, edytuj tekst i obraz itp. View to klasa potomna Android.view.View Podczas gdy grupa View to kontener, który zawiera wszystkie te widoki wewnątrz to oprócz kilku innych grup widoków, takich jak układ liniowy lub układ ramek itp. Przykład, jeśli projektujemy i bierzemy element główny jako układ liniowy, teraz naszym głównym układem jest układ liniowy wewnątrz niego możemy wziąć inną grupę widoków (tj. inny układ liniowy) i wiele innych widoki, takie jak przyciski lub widok tekstu itp.

Bhupinder Singh
źródło
0

ViewGroup opisuje układ widoków w swojej grupie. Dwa podstawowe przykłady ViewGroups to LinearLayout i RelativeLayout. Jeszcze bardziej przerywając LinearLayout, możesz mieć Vertical LinearLayout lub Horizontal LinearLayout. Jeśli wybierzesz Vertical LinearLayout, Twoje widoki zostaną ułożone pionowo na ekranie. Dwa najbardziej podstawowe przykłady widoków to TextView i Button. Tak więc, jeśli masz ViewGroup of Vertical LinearLayout, Twoje widoki (np. TextViews i Buttons) byłyby wyrównane pionowo w dół ekranu.

Kiedy inne plakaty pokazują zagnieżdżone ViewGroups, mają na myśli, na przykład, jeden z wierszy w moim Vertical LinearLayout może w rzeczywistości, na niższym poziomie, zawierać kilka elementów ułożonych poziomo. W takim przypadku miałbym Horizontal LinearLayout jako jedno z elementów podrzędnych mojego pionowego układu liniowego najwyższego poziomu.

Przykład zagnieżdżonych grup widoków:
Parent ViewGroup = Vertical LinearLayout

Row1:
TextView1 Row2: Button1
Row3: Image TextView2 Button2 <- Pozioma liniowa zagnieżdżona w pionowym liniowym
rzędzie4:
TextView3 Wiersz5: Button3

sv Nauczyciel matematyki
źródło
1
Przykład zagnieżdżonych grup widoków:
sv Nauczyciel matematyki