Android(안드로이드) 3. 안드로이드 UI 기본

차선호·2023년 4월 11일
0

Android

목록 보기
3/5
post-thumbnail

UI 기본 구조



Activity

  • 사용자 화면을 제공하는 컴포넌트


View

  • 화면에 보이는 대부분의 요소들은 View의 하위 클래스

  • 액티비티 자체는 앱의 실행 단위인 컴포넌트

    • 액티비티에 버튼, 문자열, 이미지 등을 출력해줘야 화면에 보임


View의 계층 구조

  • ViewGroup

    • 뷰 그룹은 레이아웃 및 뷰 컨테이너의 기본 클래스
  • ViewGroup 종류

    • 뷰 컨테이너

      • ViewPager
        • 유저가 페이지를 좌우로 넘길 수 있는 레이아웃 관리자 클래스
      • Toolbar
        • 특정 화면에서 가능한 행동들을 제시하는 뷰
        • 보통 안드로이드에서는 상단에 위치
    • 기본 Layout 클래스

      • LinearLayout(선형으로 배치)
      • RelativeLayout(상대 위치로 배치)
      • FrameLayout(겹쳐서 배치)
      • GridLayout(표 형태로 배치)
      • ConstraintLayout(계층 구조로 배치)


View의 대표적인 서브 클래스들

  • Button

    • 일반적으로 생각하는 버튼 모양의 뷰

    • 주로 클릭 시 호출되는 setOnClickListener를 이용하여 사용

  • EditText

    • 텍스트를 수정하면 입력할 수 있는 뷰
  • CheckBox

    • 선택하거나 취소할 수 있는 특정 유형의 두 가지 상태를 가지고 있는 버튼
  • RadioButton

    • 여러가지 동일한 형태의 선택할 수 있는 버튼 중 하나를 고르는 버튼
  • ImageView

    • 이미지 파일을 화면에 보여줄 수 있는 뷰
  • 이 외에도 많은 View가 있고 각 View들은 공통 속성을 가짐

    • Color, Dimensions Positioning

    • Focus

    • Interactive

    • Visible

    • 다른 View와 관계를 가질 수 있음


레이아웃 편집기

  • 안드로이드에는 View를 편하게 다룰 수 있는 레이아웃 편집기가 존재

  1. Palette

    • 레이아웃으로 드래그해서 사용할 수 있는 다양한 뷰 및 뷰 그룹을 포함
  2. Component Tree

    • 레이아웃에서 구성요소의 계층 구조를 보여줌
  3. 툴바

    • 편집기에서 레이아웃 모양을 구성하고
  4. 디자인 편집기

    • 디자인 뷰나 청사진 뷰 또는 두 뷰 모두에서 레이아웃을 수정
  5. Attributes

    • 선택한 뷰의 속성을 제어할 수 있는 영역
  6. 뷰 모드

    • 레이아웃을 코드 모드, 디자인 모드, 분할 모드 중 하나로 표시
    • 분할 모드는 코드 모드와 디자인 모드 동시에 보여줌
  7. 확대/축소 및 화면 이동 제어

    • 편집기 내에서 미리보기의 크기와 위치를 제어


Android Resource

  • 리소스

    • 레이아웃의 코드에서 변하지 않는 데이터 분리

    • 문자열, 치수, 이미지, 메뉴 텍스트, 색, 스타일

    • drawable

      • 이미지, 이미지와 관련된 XML, 그림을 표현한 XML
    • layout

      • 화면 UI를 정의한 레이아웃 XML
    • values

      • 문자열, 색상, 크기 등 여러 가지 값
    • menu

      • 액티비티의 메뉴를 구성하기 위한 XML
    • mipmap

      • 앱 아이콘 이미지


안드로이드 치수

  • dpi(Dots per Inch)

    • 1인치(2.54cm)에 들어 있는 픽셀의 수(안드로이드에서는 dpi 160이 기본)

      • ldpi : 120dpi
      • mdpi : 160dpi (기본)
      • hdpi : 240dpi
      • xhdpi : 320dpi
      • xxhdpi : 480dpi
      • xxxhdpi : 640dpi
  • dp 또는 dip(Density-independent Pixels)

    • 픽셀에 독립적인 단위이면서 어떤 화면의 크기에서도 동일한 크기를 나타낼 수 있음

    • 스크린의 픽셀과 dp가 160인 경우에는 1dp는 1pixel과 같으나 dpi가 240인 경우에는 1dp는 1.5pixel

      • dp = pixel / (density / 160)
  • sp(Scale-independent Pixels)

    • dp의 비슷한 부분이 있으나 사용자가 선택한 글꼴 크기에 의해 크기가 조절됨
  • pt

    • 1/72 inch 기반의 물리적 화면 사이즈, 인쇄에서 쓰이던 크기, 안드로이드에서는 잘 사용하지 않음
  • px(Pixels)

    • 스크린의 실제 픽셀 단위를 사용하고 실제 크기나 밀도와 관계 없음
  • mm(Millimeters)

    • 화면의 물리적 사이즈 기반으로 millimeter를 사용
  • in(Inches)

    • 화면의 물리적 사이즈 기반으로 inch를 사용
  • 보통 글꼴 크기만 sp를 사용하고 나머지는 모두 dp를 사용

profile
dkssud!

0개의 댓글