Android에서 View와 ViewGroup의 차이점


답변:


130

전망

  1. View 객체는 Android에서 사용자 인터페이스 (UI) 요소의 기본 구성 요소입니다.
  2. View 사용자의 동작에 반응하는 간단한 사각형 상자입니다.
  3. 예는 EditText, Button, CheckBox등 ..
  4. View받는 지칭 android.view.View모든 UI 클래스의 기본 클래스 인 클래스.

ViewGroup

  1. ViewGroup보이지 않는 컨테이너입니다. 그것은 보유 View하고ViewGroup
  2. 예를 들어, LinearLayout은 IS ViewGroup버튼 (보기)를 포함하는, 또한 다른 레이아웃.
  3. ViewGroup 레이아웃의 기본 클래스입니다.

10
또한 내가 협조 할 생각 뷰 그룹보기의 서브 클래스입니다
핑커톤

따라서 ViewGroup이 View의 하위 클래스이면 View가 ViewGroup이 아닌 레이아웃의 기본 클래스임을 의미합니까?
Shivanshu

1
@Shivanshu "기본 클래스"가 의미하는 바에 따라 다릅니다. 클래스 View확장 차례로은Object , 그래서 당신은 그 말을 Object레이아웃에 대한 기본 클래스입니다?
horcrux

59

아래 이미지는 답 입니다. 너무 복잡하게 생각하지 마십시오.

여기에 이미지 설명 입력


7
바로 요점입니다. 이미지는 그것을 매우 실용적인 방식으로 설명하는데 좋지만 위의 답변에 대한 정의는 답변 전체에 중요한 것을 추가하기 위해 필요한 것 같습니다.
ivanleoncz

31
  1. A ViewGroup는 다른 뷰 (자식이라고 함)를 포함 할 수있는 특수 뷰입니다. 뷰 그룹은 레이아웃 및 뷰 컨테이너의 기본 클래스입니다. 이 클래스는 또한 ViewGroup.LayoutParams레이아웃 매개 변수의 기본 클래스 역할을 하는 클래스를 정의합니다 .

    View클래스는 사용자 인터페이스 구성 요소의 기본 구성 요소를 나타냅니다. 뷰는 화면의 직사각형 영역을 차지하며 그리기 및 이벤트 처리를 담당합니다. View는 대화 형 UI 구성 요소 (버튼, 텍스트 필드 등)를 만드는 데 사용되는 위젯의 기본 클래스입니다.

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

참고


14

ViewUI안드로이드에서 (사용자 인터페이스) 의 기본 구성 요소입니다 . 보기는 사용자 입력에 응답하는 작은 직사각형 상자입니다. 예 : EditText, Button, CheckBox, 등

ViewGroup다른 뷰 (하위 뷰) 및 기타 뷰 그룹의 보이지 않는 컨테이너입니다. 예 : LinearLayout다른 뷰를 포함 할 수있는 뷰 그룹입니다.

ViewGroup뷰에서 기본 클래스로 확장 된 특별한 종류의 뷰입니다. ViewGroup레이아웃의 기본 클래스입니다.

이름 상태로 View는 단수이고 View 그룹은 ViewGroup.

더 많은 정보 : http://www.herongyang.com/Android/View-ViewGroup-Layout-and-Widget.html


4

ViewGroup그 자체가 View다른 뷰의 컨테이너 역할을합니다. View자식 뷰를 레이아웃하는 효율적인 방법을 제공하기 위해 클래스 의 기능을 확장합니다 .

예를 들어, LinearLayoutViewGroup자식 뷰를 배치 할 방향을 정의 할 수 있도록합니다.이 작업 만 수행하면되고 LinearLayout나머지는 처리됩니다.



2

에서 ViewGroup다른 View들을 자식으로 추가 할 수 있습니다 . ViewGroup레이아웃 및 뷰 컨테이너의 기본 클래스입니다.


1

View같은 모든 구성 요소의 슈퍼 클래스입니다 TextView, EditText, ListView,동안 등 ViewGroup뷰의 컬렉션입니다 (TextView, EditText, ListView, etc..)다소 용기 등이.


1

View 객체는 버튼이나 텍스트 상자와 같은 UI (사용자 인터페이스)의 구성 요소이며 위젯이라고도합니다.

ViewGroup 개체는 레이아웃, 즉 다른 ViewGroup 개체 (레이아웃) 및 View 개체 (위젯)의 컨테이너입니다. 다른 레이아웃 안에 레이아웃이있을 수 있습니다. 중첩 레이아웃이라고하지만 사용자 인터페이스를 그리는 데 필요한 시간을 늘릴 수 있습니다.

앱의 사용자 인터페이스는 ViewGroup 및 View 개체의 계층 구조를 사용하여 빌드됩니다. Android Studio에서는 구성 요소 트리 창을 사용하여이 계층 구조를 시각화 할 수 있습니다.

Android Studio의 Layout Editor를 사용하여 레이아웃에서 View 개체 (위젯)를 드래그 앤 드롭 할 수 있습니다. 레이아웃 생성을 단순화합니다.


1

간단히 말해서 View는 버튼, 텍스트 및 이미지 편집 등과 같이 앱을 사용할 때 상호 작용하는 UI 요소이며 View는 Android.view.View의 자식 클래스이며 View 그룹은 내부에 이러한 모든 뷰를 포함하는 컨테이너입니다. 선형 또는 프레임 레이아웃 등과 같은 여러 다른 뷰 그룹에 추가합니다. 예를 들어 루트 요소를 선형 레이아웃으로 디자인하고 가져 오면 이제 기본 레이아웃이 내부에 선형 레이아웃이됩니다. 다른 뷰 그룹 (예 : 다른 선형 레이아웃) 등을 사용할 수 있습니다. 버튼 또는 textview 등과 같은보기


0

ViewGroup은 해당 그룹의보기 레이아웃을 설명합니다. ViewGroups의 두 가지 기본 예는 LinearLayout 및 RelativeLayout입니다. LinearLayout을 더욱 세분화하면 Vertical LinearLayout 또는 Horizontal LinearLayout을 사용할 수 있습니다. Vertical LinearLayout을 선택하면 뷰가 화면에 세로로 쌓입니다. 뷰의 가장 기본적인 두 가지 예는 TextView와 Button입니다. 따라서 Vertical LinearLayout의 ViewGroup이있는 경우 뷰 (예 : TextViews 및 Buttons)는 화면 아래에 수직으로 정렬됩니다.

다른 포스터가 중첩 된 ViewGroups를 표시 할 때 의미하는 바는 내 Vertical LinearLayout의 행 중 하나가 실제로 하위 수준에서 가로로 배열 된 여러 항목 일 수 있다는 것입니다. 이 경우 내 최상위 Vertical LinearLayout의 자식 중 하나로 Horizontal LinearLayout이 있습니다.

중첩 된 ViewGroup의 예 :
Parent ViewGroup = Vertical LinearLayout

ROW1 : TextView1
행 2 : Button1을
Row3 : 이미지 TextView2 Button2를 <- 수평 선형 수직 선형 중첩
Row4 : TextView3
Row5 : Button3의


1
중첩 된 ViewGroups의 예 :
sv Math Tutor
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.