View에 대한 이해

jihyo·2021년 7월 20일
0

Android

목록 보기
6/17
post-thumbnail

View

  • View : 모든 뷰 클래스의 최상위 클래스로, 액티비티는 View의 서브 클래스만 화면에 출력한다.
  • ViewGroup : View의 하위 클래스지만 자체 UI는 없다. 다른 뷰들을 묶어 제어할 때 사용한다. 뷰를 담는 그릇(컨테이너)이라고 생각하면 된다. 레이아웃 클래스들이 ViewGroup의 서브 클래스이다.

01 뷰 중첩 구조

위 그림처럼 객체를 계층 구조로 만든 패턴을 컴포지트 패턴 또는 문서 객체 모델이라고 한다.

View 영역

View가 있을 때 보이지 않는 View의 테두리 영역(Border, 경계선)이 존재한다는 것을 인지해야 한다. 이걸 Box라고 부르는데 View는 이 Box를 기준으로 안쪽과 바깥쪽 공간을 가진다.

  • 마진(Margin) : 테두리의 바깥쪽 공간
  • 패딩(Padding) : 테두리의 안쪽 공간

View의 영역 구분

View 정렬

안드로이드에서 View를 정렬할 때 gravity 속성을 사용한다. 정렬의 의미인 align이 아닌 gravity인 이유는 정렬 방법을 무게중심을 어디다 두느냐로 이해하면 될 것이다.

  • layout_gravity : 부모 컨테이너의 여유 공간에 View가 모두 채워지지 않아 여유 공간이 생겼을 때 여유 공간 안에서 View를 정렬함
  • gravity : View 안에 표시하는 Content 정렬함. (TextView의 경우 글자가 Content이며, ImageView의 경우 이미지가 Content이다.)

0개의 댓글