2011-12-23 27 views
7

Trong Android ViewGroup được thừa kế từ View. A ViewGroup là một container chứa Views.Android View and ViewGroup

ViewGroup (LinearLayout) 
View (TextView) 

Tại sao mọi người ở Android đã xác định mối quan hệ này là Inheritance thay vì sáng tác. Vì số ViewGroup chứa Views không nên là bố cục?

+0

có thể trùng lặp của [Sự khác nhau giữa View và ViewGroup trong Android] (http://stackoverflow.com/questions/27352476/difference -between-view-and-viewgroup-in-android) – Suragch

Trả lời

11

Tôi nghĩ bạn đang quá hung hăng về từ ngữ.

Một "ViewGroup" có nhiều lý do để kế thừa từ "Xem" dưới dạng "TextView" và "ImageView" hoặc ... nhiều hơn vào điểm ... "ScrollView" hoặc "SurfaceView "(sau này cả hai" chứa mọi thứ ").

Có lẽ "Chế độ xem" không nhất thiết phải là lựa chọn tốt nhất về thuật ngữ ... nhưng chế độ thừa kế lớp học có ý nghĩa hoàn toàn. Bất kể những gì nó là lớp con được đặt tên :)

IMHO ...

0

ViewGroup thừa hưởng thuộc tính của quan điểm và thực hiện nhiều hơn với quan điểm khác và ViewGroup

1

Một ViewGroup là một (lớp con của) View vì nó có thể đóng vai trò như một cái nhìn theo những cách quan trọng:

  • Nó có thể là một yếu tố trong một file layout XML
  • Nó có thể được hiển thị trên màn hình (bằng cách hiển thị con của nó quan điểm, màu sắc của nó riêng nền, vv)
  • Nó được thổi phồng cùng với phần còn lại của hệ thống phân cấp view
  • Nó có thể phục vụ như xem nội dung của một hoạt động (thông qua setContentView())

Vì vậy, nó thực sự là một View.

Tôi đồng ý rằng tên lớp ViewGroup hơi khó hiểu vì có vẻ như đó là một nhóm chứ không phải dạng xem. Gọi nó là ViewGroupView có thể hợp lý hơn, nếu khó sử dụng.

2

Đọc the official doc là quy tắc vàng.

Nhóm xem là chế độ xem đặc biệt có thể chứa các chế độ xem khác (được gọi là trẻ em). Nhóm xem là lớp cơ sở cho vùng chứa và vùng chứa lượt xem. Lớp này cũng định nghĩa lớp ViewGroup.LayoutParams làm lớp cơ sở cho các tham số bố trí.


Nếu bạn vẫn không tìm ra nó là gì, tìm kiếm với Google image:

enter image description here

0

Một ViewGroup là một cái nhìn đặc biệt mà có thể chứa các quan điểm khác. - Nhóm xem là lớp cơ sở cho các bố cục và khung nhìn - Ví dụ, RelativeLayout là ViewGroup chứa TextView (View) và các Layouts khác.

tham khảo liên kết để biết: https://developer.android.com/reference/android/view/ViewGroup.html

A View đạ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 -Nó chiếm hình chữ nhật trên màn hình và có trách nhiệm vẽ và các sự kiện xử lý. - Ví dụ như EditText, Button, TextView vv

tham khảo liên kết để biết: https://developer.android.com/reference/android/view/View.html

Các vấn đề liên quan