안드로이드
View와 ViewGroup
start1a
2019. 12. 27. 15:59
뷰 클래스 (View Class)
- 화면에 보이는 부분을 담당
- drawing 및 이벤트 처리
- 보이는 법
- onCreate() 안의 setContentView(R.layout.xml파일명)
- UI 클래스 객체 : var v = View() setContentView(v)
- 실제로는 View를 상속받아 UI를 구현한 객체를 사용함
View가 보이는 시점
- 생명 주기 : 초기화/복귀가 완전히 끝난 시점
- 터치/키보드 입력/데이터 변경 : View의 내용이 바뀌어야 하는 시점
- View System -> View::OnDraw()를 호출해 View의 새로운 내용 호출
View의 3가지 파생
대부분의 앱들이 이 3가지에서 파생된 View를 사용
- TextView
- EditText
- Button
- RadioButton
- CompoundButton
- CheckBox
- Switch : On/Off
- ImageView
- ImageButton
- ViewGroup
ViewGroup
- View를 포함하는 보이지 않는 컨테이너
- 예1) LinearLayout : View를 포함하는 ViewGroup
- 예2) RadioGroup : Radio Button들을 묶는 ViewGroup
Layout
- LinearLayout 권장
- ConstraintLayout 권장
- 레이아웃 내부 View의 상하좌우에 제약 조건을 걸어 위치와 크기 조정
- RecyclerLayout : 데이터를 리스트나 그리드 형태로 표시
- Spinner : 데이터 목록 중 하나를 선택
- ScrollView : 내부의 View를 스크롤하며 이동
- TapLayout : 탭을 이용해 View 간의 전환이 가능
Layout 단위
- DP : Density independent Pixels
- 어떤 화면에서도 비슷한 크기의 UI를 제공하는 단위
- UI 사용성 향상
- SP : Scale independent Pixels
- DP와 같이 밀도에 독립적인 픽셀
- 글꼴에 적용하는 용도
- 텍스트의 접근성이 중요하다면 sp 사용
Custom View
- View를 상속받아 개발자가 직접 View를 구현
- class CustomView : View