Jaka jest różnica między a View
i a ViewGroup
w programowaniu na Androida?
Jaka jest różnica między a View
i a ViewGroup
w programowaniu na Androida?
Odpowiedzi:
View
obiekty są podstawowymi blokami konstrukcyjnymi elementów interfejsu użytkownika (UI) w systemie Android.View
to prosta prostokątna ramka, która reaguje na działania użytkownika.EditText
, Button
, CheckBox
itd ..View
odnosi się do android.view.View
klasy, która jest klasą bazową wszystkich klas interfejsu użytkownika.ViewGroup
to niewidzialny pojemnik. Posiada View
iViewGroup
LinearLayout
to ViewGroup
, że zawiera przycisk (Widok), a także inne układy.ViewGroup
to klasa bazowa dla układów.View
z kolei rozszerzaObject
, więc można powiedzieć, że Object
to klasa bazowa dla układów?
Poniżej obrazek jest odpowiedzią . Nie traktuj tego zbyt skomplikowanie.
A ViewGroup
to 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.LayoutParams
klasę, która służy jako klasa bazowa dla parametrów układów.
View
class 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.).
View
to 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 ..
ViewGroup
jest niewidocznym kontenerem innych widoków (widoków podrzędnych) i innych grup widoków. Np .: LinearLayout
to grupa widoków, która może zawierać inne widoki.
ViewGroup
jest szczególnym rodzajem widoku, który jest rozszerzany z widoku jako jego klasy bazowej. ViewGroup
jest 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
ViewGroup
sam w sobie View
działa jako kontener dla innych widoków. Rozszerza funkcjonalność View
klasy, aby zapewnić wydajne sposoby układania widoków potomnych.
Na przykład LinearLayout
jest to, ViewGroup
który pozwala zdefiniować orientację, w której chcesz układać widoki potomne, to wszystko, co musisz zrobić i LinearLayout
zajmie się resztą.
Viewgroup dziedziczy właściwości widoków i robi więcej z innymi widokami i grupą widoków.
Zobacz interfejs API systemu Android: http://developer.android.com/reference/android/view/ViewGroup.html
w ViewGroup
możesz dodać inne View
jako dziecko. ViewGroup
jest klasą bazową dla układów i kontenerów widoków.
View
jest komponentem SuperClass of All, takim jak TextView, EditText, ListView,
itp., a ViewGroup
jest to Collection of Views (TextView, EditText, ListView, etc..)
, trochę jak kontener.
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.
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.
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