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 |