안드로이드

View와 ViewGroup

start1a 2019. 12. 27. 15:59

클래스 (View Class)

  • 화면에 보이는 부분을 담당
  • drawing 및 이벤트 처리
  • 보이는
    1. onCreate() 안의 setContentView(R.layout.xml파일명)
    2. 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

 

 

출처 : https://jjeongil.tistory.com/504

 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