Perbedaan antara View dan ViewGroup di Android


Jawaban:


130

Melihat

  1. View objek adalah blok bangunan dasar dari elemen Antarmuka Pengguna (UI) di Android.
  2. View adalah kotak persegi panjang sederhana yang merespons tindakan pengguna.
  3. Contohnya adalah EditText, Button, CheckBoxdll ..
  4. Viewmengacu pada android.view.Viewkelas, yang merupakan kelas dasar dari semua kelas UI.

ViewGroup

  1. ViewGroupadalah wadah tak terlihat. Ini memegang ViewdanViewGroup
  2. Misalnya, LinearLayoutapakah ViewGroupyang berisi Tombol (Tampilan), dan Tata Letak lainnya juga.
  3. ViewGroup adalah kelas dasar untuk Tata Letak.

10
juga menurut saya perlu diperhatikan, ViewGroup adalah subkelas View
Pinkerton

Jadi, Jika ViewGroup adalah subclass dari View, berarti View adalah kelas dasar untuk Layouts bukan ViewGroup?
Shivanshu

1
@Shivanshu Itu tergantung pada apa yang Anda maksud dengan "kelas dasar". The kelas Viewpada gilirannya meluasObject , sehingga akan Anda katakan bahwa Objectadalah kelas dasar untuk layout?
horcrux

59

Gambar di bawah ini adalah jawabannya . Jangan menganggapnya terlalu rumit.

masukkan deskripsi gambar di sini


7
Langsung ke intinya. Gambar menjelaskannya dengan cara yang sangat pragmatis, dan itu bagus, tetapi definisi jawaban di atas tampaknya juga diperlukan untuk menambahkan sesuatu yang penting pada jawaban secara keseluruhan.
ivanleoncz

31
  1. A ViewGroupadalah tampilan khusus yang bisa berisi tampilan lain (disebut anak.) Grup tampilan adalah kelas dasar untuk wadah tata letak dan tampilan. Kelas ini juga mendefinisikan ViewGroup.LayoutParamskelas yang berfungsi sebagai kelas dasar untuk parameter tata letak.

    Viewclass mewakili blok bangunan dasar untuk komponen antarmuka pengguna. Tampilan menempati area persegi panjang di layar dan bertanggung jawab untuk menggambar dan menangani acara. View adalah kelas dasar untuk widget, yang digunakan untuk membuat komponen UI interaktif (tombol, kolom teks, dll.).

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

Referensi


14

Viewadalah blok bangunan dasar UI(Antarmuka Pengguna) di android. Tampilan adalah kotak persegi panjang kecil yang merespons masukan pengguna. Misalnya: EditText, Button, CheckBox, dll ..

ViewGroupadalah wadah tak terlihat dari tampilan lain (tampilan anak) dan kelompok tampilan lain. Misal: LinearLayoutadalah viewgroup yang bisa berisi view lain di dalamnya.

ViewGroupadalah jenis tampilan khusus yang diperluas dari View sebagai kelas dasarnya. ViewGroupadalah kelas dasar untuk tata letak.

sebagai nama menyatakan View adalah tunggal dan kelompok Views adalah ViewGroup.

info lebih lanjut: http://www.herongyang.com/Android/View-ViewGroup-Layout-and-Widget.html


4

ViewGroupitu sendiri adalah Viewyang berfungsi sebagai wadah untuk tampilan lain. Ini memperluas fungsionalitas Viewkelas untuk menyediakan cara yang efisien untuk mengatur tata letak tampilan anak.

Misalnya, LinearLayoutis a ViewGroupyang memungkinkan Anda menentukan orientasi yang Anda inginkan untuk meletakkan tampilan anak, hanya itu yang perlu Anda lakukan dan LinearLayoutakan mengurus sisanya.



2

di ViewGroupAnda dapat menambahkan beberapa lainnya Viewsebagai anak. ViewGroupadalah kelas dasar untuk tata letak dan penampung tampilan.


1

Viewadalah SuperClass of All komponen seperti TextView, EditText, ListView,dll .. sedangkan ViewGroupCollection of Views (TextView, EditText, ListView, etc..), agak seperti wadah.


1

Objek View adalah komponen antarmuka pengguna (UI) seperti tombol atau kotak teks, dan juga disebut widget.

Objek ViewGroup adalah tata letak, yaitu penampung objek ViewGroup (tata letak) dan objek View (widget) lainnya. Dimungkinkan untuk memiliki tata letak di dalam tata letak lain. Ini disebut tata letak bersarang tetapi dapat meningkatkan waktu yang dibutuhkan untuk menggambar antarmuka pengguna.

Antarmuka pengguna untuk aplikasi dibuat menggunakan hierarki objek ViewGroup dan View. Di Android Studio, dimungkinkan untuk menggunakan jendela Component Tree untuk memvisualisasikan hierarki ini.

Layout Editor di Android Studio bisa digunakan untuk menarik dan melepas objek View (widget) di layout. Ini menyederhanakan pembuatan tata letak.


1

Sederhananya, View adalah elemen UI tempat kita berinteraksi ketika kita menggunakan aplikasi, seperti tombol, edit teks dan gambar, dll. View adalah kelas anak Android.view. View While View group adalah wadah yang berisi semua tampilan ini di dalamnya selain beberapa grup tampilan lainnya seperti Linear atau Frame Layout dll. Contoh jika kita mendesain & mengambil elemen root sebagai Linear layout, sekarang layout utama kita adalah layout linier di dalamnya kita dapat mengambil grup tampilan lain (yaitu layout Linear lainnya) & banyak lainnya tampilan seperti tombol atau tampilan teks, dll.


0

Sebuah ViewGroup menjelaskan tata letak Tampilan dalam grupnya. Dua contoh dasar ViewGroup adalah LinearLayout dan RelativeLayout. Memecah LinearLayout lebih jauh, Anda dapat memiliki Vertical LinearLayout atau Horizontal LinearLayout. Jika Anda memilih Vertical LinearLayout, Tampilan Anda akan menumpuk secara vertikal di layar. Dua contoh Tampilan yang paling dasar adalah TextView dan Button. Jadi, jika Anda memiliki ViewGroup dari Vertical LinearLayout, Tampilan Anda (mis. Tampilan Teks dan Tombol) akan berbaris secara vertikal ke bawah layar Anda.

Ketika poster lain menampilkan ViewGroups bersarang, yang dimaksud adalah, misalnya, salah satu baris di Vertical LinearLayout saya mungkin sebenarnya, di tingkat yang lebih rendah, menjadi beberapa item yang diatur secara horizontal. Dalam hal ini, saya akan memiliki Horizontal LinearLayout sebagai salah satu anak dari Vertical LinearLayout tingkat atas saya.

Contoh dari Nested ViewGroups:
Parent ViewGroup = Vertical LinearLayout

Row1: TextView1
Row2: Button1
Row3: Image TextView2 Button2 <- Horizontal Linear bersarang di Vertical Linear
Row4: TextView3
Row5: Button3


1
Contoh Nested ViewGroups:
sv Math Tutor
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.