Sự khác biệt giữa View và ViewGroup trong Android


Câu trả lời:


130

Lượt xem

  1. View đối tượng là các khối xây dựng cơ bản của các phần tử Giao diện người dùng (UI) trong Android.
  2. View là một hộp hình chữ nhật đơn giản đáp ứng các hành động của người dùng.
  3. Ví dụ như EditText, Button, CheckBoxvv ..
  4. Viewđề cập đến android.view.Viewlớp, là lớp cơ sở của tất cả các lớp UI.

ViewGroup

  1. ViewGrouplà vật chứa vô hình. Nó giữ ViewViewGroup
  2. Ví dụ, LinearLayoutViewGroupcó chứa Button (View), và Layouts khác cũng có.
  3. ViewGroup là lớp cơ sở cho Bố cục.

10
Tôi nghĩ cũng đáng chú ý, ViewGroup là một lớp con của Xem
Pinkerton

Vì vậy, nếu ViewGroup là một lớp con của View có nghĩa là View là lớp cơ sở cho Layouts không phải ViewGroup?
Shivanshu

1
@Shivanshu Nó phụ thuộc vào những gì bạn có nghĩa là "lớp cơ sở". Các lớp Viewlần lượt mở rộngObject , vì vậy bạn sẽ nói rằng Objectlà lớp cơ sở cho bố trí?
horcrux

59

Hình ảnh dưới đây là câu trả lời . Đừng coi nó quá phức tạp.

nhập mô tả hình ảnh ở đây


7
Đi thẳng vào vấn đề. Hình ảnh giải thích nó theo một cách rất thực dụng, điều này là tốt, nhưng định nghĩa của câu trả lời ở trên dường như cũng cần thiết để thêm một cái gì đó quan trọng vào tổng thể câu trả lời.
ivanleoncz 27/12/16

31
  1. A ViewGrouplà một khung nhìn đặc biệt có thể chứa các khung nhìn khác (được gọi là con.) Nhóm khung nhìn là lớp cơ sở cho bố cục và vùng chứa khung nhìn. Lớp này cũng định nghĩa ViewGroup.LayoutParamslớp đóng vai trò là lớp cơ sở cho các tham số bố cục.

    Viewlớp đại diện cho khối xây dựng cơ bản cho các thành phần giao diện người dùng. Chế độ xem chiếm một vùng hình chữ nhật trên màn hình và chịu trách nhiệm vẽ và xử lý sự kiện. View là lớp cơ sở cho các widget, được sử dụng để tạo các thành phần UI tương tác (nút, trường văn bản, v.v.).

  2. Ví dụ: ViewGroup (LinearLayout), View (TextView)

Tài liệu tham khảo


14

Viewlà một khối xây dựng cơ bản của UI(Giao diện người dùng) trong Android. Chế độ xem là một hình hộp chữ nhật nhỏ đáp ứng các đầu vào của người dùng. Ví dụ như: EditText, Button, CheckBox, vv ..

ViewGrouplà một vùng chứa vô hình của các chế độ xem khác (chế độ xem con) và các nhóm xem khác. Vd: LinearLayoutlà một nhóm khung nhìn có thể chứa các khung nhìn khác trong đó.

ViewGrouplà một loại khung nhìn đặc biệt được mở rộng từ View làm lớp cơ sở của nó. ViewGrouplà lớp cơ sở cho các bố cục.

như tên các trạng thái Chế độ xem là số ít và nhóm các Chế độ xem là ViewGroup.

thêm thông tin: http://www.herongyang.com/Android/View-ViewGroup-Layout-and-Widget.html


4

ViewGroupchính nó Viewlà một vùng chứa cho các khung nhìn khác. Nó mở rộng chức năng của Viewlớp để cung cấp các cách hiệu quả để bố trí các khung nhìn con.

Ví dụ: LinearLayoutlà một ViewGroupcho phép bạn xác định hướng mà bạn muốn các chế độ xem con được đặt, đó là tất cả những gì bạn cần làm và LinearLayoutsẽ lo phần còn lại.



2

trong ViewGroupbạn có thể thêm một số Views khác khi còn nhỏ. ViewGrouplà lớp cơ sở cho bố cục và vùng chứa chế độ xem.


1

Viewlà SuperClass của tất cả thành phần như TextView, EditText, ListView,vv .. trong khi ViewGrouplà Collection of Views (TextView, EditText, ListView, etc..), giống như vùng chứa.


1

Đối tượng View là một thành phần của giao diện người dùng (UI) như một nút hoặc một hộp văn bản và nó còn được gọi là widget.

Đối tượng ViewGroup là một bố cục, nghĩa là một vùng chứa các đối tượng ViewGroup khác (bố cục) và các đối tượng View (widget). Có thể có một bố cục bên trong một bố cục khác. Nó được gọi là bố cục lồng nhau nhưng nó có thể làm tăng thời gian cần thiết để vẽ giao diện người dùng.

Giao diện người dùng cho một ứng dụng được xây dựng bằng cách sử dụng phân cấp các đối tượng ViewGroup và View. Trong Android Studio, có thể sử dụng cửa sổ Cây thành phần để trực quan hóa cấu trúc phân cấp này.

Trình chỉnh sửa bố cục trong Android Studio có thể được sử dụng để kéo và thả các đối tượng Chế độ xem (tiện ích) trong bố cục. Nó đơn giản hóa việc tạo bố cục.


1

Nói một cách đơn giản View là phần tử giao diện người dùng mà chúng ta tương tác khi chúng ta sử dụng một ứng dụng, nút like, chỉnh sửa văn bản và hình ảnh, v.v. View là lớp con của Android.view.View Trong khi nhóm View là vùng chứa chứa tất cả các chế độ xem này bên trong nó ngoài một số nhóm chế độ xem như Bố cục tuyến tính hoặc Khung hình, v.v ... Ví dụ nếu chúng ta thiết kế và lấy phần tử gốc làm Bố cục tuyến tính bây giờ bố cục chính của chúng ta là bố cục tuyến tính bên trong nó, chúng ta có thể lấy một nhóm chế độ xem khác (tức là một bố cục Tuyến tính khác) & nhiều thứ khác các chế độ xem như nút hoặc chế độ xem văn bản, v.v.


0

Một ViewGroup mô tả bố cục của các View trong nhóm của nó. Hai ví dụ cơ bản của ViewGroups là LinearLayout và RelativeLayout. Phá vỡ LinearLayout hơn nữa, bạn có thể có Vertical LinearLayout hoặc Horizontal LinearLayout. Nếu bạn chọn Vertical LinearLayout, Chế độ xem của bạn sẽ xếp theo chiều dọc trên màn hình của bạn. Hai ví dụ cơ bản nhất về Chế độ xem là TextView và Nút. Do đó, nếu bạn có một ViewGroup gồm Vertical LinearLayout, các View của bạn (ví dụ TextViews và Buttons) sẽ xếp hàng dọc xuống màn hình của bạn.

Khi các áp phích khác hiển thị các ViewGroup lồng nhau, ý nghĩa của chúng là, ví dụ: một trong các hàng trong Vertical LinearLayout của tôi thực sự có thể là một số mục được sắp xếp theo chiều ngang. Trong trường hợp đó, tôi sẽ có Horizontal LinearLayout là một trong những phần tử con của Vertical LinearLayout cấp cao nhất của tôi.

Ví dụ về các nhóm xem lồng nhau:
Parent ViewGroup = Vertical LinearLayout

Row1: TextView1
Row2: Button1
Row3: Image TextView2 Button2 <- Horizontal Linear lồng trong Vertical Linear
Row4: TextView3
Row5: Button3


1
Ví dụ về các Nhóm Xem lồng nhau:
sv Math Tutor
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.