본문 바로가기

안드로이드

뷰 아키텍처

1. 뷰의 계층 구조

View : 안드로이드 뷰 클래스의 최상위 클래스, 액티비티 출력 클래스는 모두 View 의 서브 클래스

 

ViewGroup : 뷰의 서브 클래스여서 화면에는 출력됨. 뷰 그룹 자체만의 UI는 없음.

다른 뷰 여러개를 뷰그룹에 포함하여 제어하기 위한 목적

 

TextView : 특정 UI를 출력할 목적. 대표적으로 TextView, 이외에도 여러 가지 클래스가 있음.

 

 

소프트웨어 모델 : DOM 을 따름.
패턴 : Gof 디자인 패턴의 Composite 패턴

 

 

 

2. 대표적인 뷰 클래스들

1) TextView

- text , typeface(폰트), textStyle , textColor , textSize, autoLink

android:text="http://www.google.com a@a.com 02-1222-1111"
android:autoLink="web|email|phone"

이렇게 해주면, 각 링크를 사용자가 클릭 시, 자동으로 브라우저, 이메일 앱, 전화 앱이 실행 된다.

 

- maxLines, ellipsize ( 줄임 표시 )

android:maxLines="3"
android:ellipsize="end"  // end 로 지정하면 뒷부분 줄임 표시가 추가 된다.

 

 

2) ImageView

- src , maxWidth, maxHeight

- adjustViewBounds( 가로세로 비율 유지 속성을 지정 True/false )

- tint ( 이미지 위에 다른 색상을 입힐 때 사용 )

- 이미지 뷰 말고도 TextView 로도 이미지를 출력할 수도 있다.

 

 

3) EditText

TextView 를 상속받아 작성되었다.

- 사용자에게 데이터를 입력받을 때 사용하는 뷰

- lines , maxLines

 

- inputType(키보드 모드 : 전화번호 / 문자 키 우선 모드)

inputType 속성 값들은 필요할 때 찾아서 개발
phone, number, textEmailAddress, textPasssword 등 다양한 속성값 존재
inputType="text", phone, number, textEmailAddress 로 지정하면, 사용자가 한 줄만 입력할 수 있게 된다.

- gravity (글의 위치를 조정)

center , right, left 

 

 

4) Button

문자열을 출력한다는 의미에서 TextView 의 서브 클래스로 만들어졌다.

Button 하위 클래스로 CheckBox , RadioButton , ToggleButton

 

 

5) checkBox

사용자에게 글이 아니라 true/false 값을 입력받을 때 사용

 

isChecked() , setChecked() , toggle() 을 통해 상태 파악 가능

 

또한, OnCheckedChangeListener 를 이용해서 이벤트 처리 가능

 

 

6) radioButton

여러 개 중 단일 선택을 표현한다.

RadioGroup으로 묶인 RadioButton 중 하나만 체크할 수 있다.

 

check() , clearCheck() , getCheckedRadioButtonId() 을 통해 상태 파악 가능

 

 

'안드로이드' 카테고리의 다른 글

이벤트 모델  (0) 2020.08.27
빌더 패턴  (0) 2020.08.27
View 의 기초 속성  (0) 2020.08.27
액티비티 - 뷰 구조  (0) 2020.08.27
MainActivity.java 기본 중 기본  (0) 2020.08.27