Різниця між View і ViewGroup в Android


Відповіді:


130

Переглянути

  1. View об'єкти є основними будівельними елементами елементів інтерфейсу користувача (UI) в Android.
  2. View це простий прямокутник, який відповідає на дії користувача.
  3. Прикладами є EditText, Button,CheckBox і т.д ..
  4. Viewвідноситься до android.view.Viewкласу, який є базовим класом усіх класів інтерфейсу користувача.

ViewGroup

  1. ViewGroupє невидимим контейнером. Він тримає ViewіViewGroup
  2. Наприклад, LinearLayoutє те, ViewGroupщо містить кнопку (Перегляд), а також інші макети.
  3. ViewGroup є базовим класом для макетів.

10
також я думаю, що варто зазначити, ViewGroup - це підклас View
Pinkerton

Отже, якщо ViewGroup є підкласом View, це означає, що View є базовим класом для Layouts, а не ViewGroup?
Шиваншу

1
@Shivanshu Це залежить від того, що ви маєте на увазі під "базовим класом". Клас Viewв свою чергу , розширюєObject , так би ви сказали , що Objectце базовий клас для макетів?
horcrux

59

Відповідь нижче під зображенням . Не сприймайте це занадто складно.

введіть тут опис зображення


7
Прямо до точки. Зображення пояснює це дуже прагматично, що добре, але визначення наведеної відповіді також видається необхідним для того, щоб додати щось важливе до відповіді в цілому.
ivanleoncz

31
  1. A ViewGroup- це спеціальний вигляд, який може містити інші подання (звані дочірніми.) Група переглядів є базовим класом для контейнерів макетів та подань. Цей клас також визначаєViewGroup.LayoutParams клас, який служить базовим класом для параметрів макетів.

    Viewклас представляє основний будівельний блок для компонентів інтерфейсу користувача. Вид займає прямокутну область на екрані і відповідає за малювання та обробку подій. Перегляд - це базовий клас для віджетів, які використовуються для створення інтерактивних компонентів інтерфейсу (кнопки, текстові поля тощо).

  2. Приклад: ViewGroup (LinearLayout), View (TextView)

Довідково


14

Viewє основним будівельним блоком UI(Інтерфейс користувача) в android. Вигляд - це невеликий прямокутний віконце, яке реагує на введені користувачем дані. Наприклад: EditText, Button, CheckBoxі т.д ..

ViewGroupє невидимим контейнером інших видів (дочірніх поглядів) та інших груп перегляду. Наприклад:LinearLayout це група переглядів, яка може містити в ній інші подання.

ViewGroup це особливий вид подання, який поширюється на View як базовий клас. ViewGroupє базовим класом для макетів.

оскільки назва імені View є єдиною, а група View - це ViewGroup .

докладніше: http://www.herongyang.com/Android/View-ViewGroup-Layout-and-Widget.html


4

ViewGroupсам є тим, Viewщо працює як контейнер для інших видів. Це розширює функціональні можливостіView класу, щоб забезпечити ефективні способи розміщення дочірніх поглядів.

Наприклад, LinearLayoutце ViewGroupте, що дозволяє визначити орієнтацію, в якій ви хочете, щоб були викладені дочірні погляди, це все, що вам потрібно зробити, і LinearLayoutподбає про все інше.



2

в ViewGroupви можете додати деякі інші Viewз , як дитина. ViewGroupє базовим класом для макетів та контейнерів перегляду.


1

Viewє SuperClass з усіх компонентів, таких як TextView, EditText, ListView,і т.д .., а ViewGroupце колекція переглядів (TextView, EditText, ListView, etc..), дещо схожа на контейнер.


1

Об'єкт View - це компонент користувальницького інтерфейсу (UI), як кнопка або текстове поле, і він також називається віджетом.

Об’єкт ViewGroup - це макет, тобто контейнер інших об’єктів ViewGroup (макети) та об’єктів View (віджети). Можна розмістити макет всередині іншого макета. Це називається вкладеним макетом, але це може збільшити час, необхідний для малювання інтерфейсу користувача.

Інтерфейс користувача програми побудований з використанням ієрархії об'єктів ViewGroup і View. В Android Studio можна використовувати вікно дерева компонентів для візуалізації цієї ієрархії.

Редактор макета в Android Studio можна використовувати для перетягування об'єктів перегляду (віджетів) у макет. Це спрощує створення макета.


1

Простими словами View - це елемент інтерфейсу, з яким ми взаємодіємо, коли використовуємо додаток, наприклад, кнопку, редагуємо текст, зображення тощо. View - це дочірній клас Android.view.View While View - це контейнер, який містить усі ці види всередині це на додаток до кількох інших груп перегляду, таких як лінійний або макет кадру тощо. Приклад, якщо ми розробляємо та беремо кореневий елемент як Лінійний макет, то зараз основним макетом є лінійний макет всередині нього, ми можемо взяти іншу групу перегляду (тобто інший Лінійний макет) та багато інших перегляди, такі як кнопки або перегляд тексту тощо.


0

ViewGroup описує макет подань у своїй групі. Двома основними прикладами ViewGroups є LinearLayout та RelativeLayout. Порушуючи LinearLayout ще більше, ви можете мати або вертикальний LinearLayout, або горизонтальний LinearLayout. Якщо ви виберете Vertical LinearLayout, ваші подання будуть розташовуватися вертикально на вашому екрані. Двома основними прикладами подань є TextView та Button. Таким чином, якщо у вас є ViewGroup вертикального LinearLayout, ваші подання (наприклад, TextViews і кнопки) розташовуються вертикально вниз по екрану.

Коли інші плакати показують вкладені ViewGroups, вони мають на увазі, наприклад, один з рядків у моєму Vertical LinearLayout, насправді, на нижньому рівні може бути кілька елементів, розташованих горизонтально. У цьому випадку я мав би горизонтальний лінійний макет як одне з дочірніх елементів мого вертикального лінійного макета верхнього рівня.

Приклад вкладених груп перегляду:
Parent ViewGroup = Вертикальний LinearLayout

Рядок1: TextView1
Рядок2:
Кнопка1 Рядок3: Зображення TextView2 Кнопка2 <- Горизонтальна лінійна вкладена у вертикальну лінійну
рядок4: TextView3
Рядок5: Кнопка3


1
Приклад вкладених груп перегляду:
sv Tutor
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.