NOW OR NEVER

[Android] UI 요소 본문

Android

[Android] UI 요소

LAURA 2023. 6. 7. 18:05
반응형

UI

view

  • ui 요소들은 직접 혹은 간접적으로 다 view 클래스를 상속 받고 있다.
  • 모든 ui 요소들의 부모 클래스
  • Widget과 Layout으로 나뉜다
  • 눈에 보이는 모든 ui 요소를 지칭
  • id에 맞춰 객체 생성

View Binding

  • view 객체들을 자동으로 변수로 선언하고 받는 기능
  • kotlin의 경우 view들을 배치 시 설정된 아이디가 있는 경우 아이디에 해당하는 변수가 만들어지고 자동으로 할당된다
    • 변수 이름, findViewById등 개발자가 작업하지 않아도 자동으로 코드 삽입
  • view 객체들을 자동으로 받고 선언하는 기능이 자바에서도 사용할 수 있도록 만들어짐
  • layout 폴더(res/layout)에 있는 xml 파일 하나 당 하나의 클래스 생성 -> 자동으로 생성되는 클랫의 이름은 xml 파일의 이름으로 생성된다(activity_main.xml -> ActivityMainBinding)
  • view binding을 설정하기 위해서는 gradle 파일에 android 부분에 아래 코드(buildFeature은 안드로이드 스튜디오 구형 버전) 추가(res/build.gradle(Mobile : app)) -> 입력 후 sync now 클릭
    viewBinding{
      enable = true
    }
  • layout Inflator
    • xml을 가지고 눈에 보이는 화면 요소들을 만들어주는 것
    • activity 클래스가 가지고 있는 property 지정해서 세팅해줌

Layout

  • 내부 view들을 통합 관리하고 배치를 어떻게 할 것인가.
  • layout 배치시 그 위에 다른 view들을 배치할 수 있다.
  • 어떤 걸 쓰느냐에 따라 view들이 배치되는 모습이 달라짐
  • view들을 집어 넣을 수 있다 해서 container로 부르기도 한다.
  • view들을 그룹한다고 해서 view group이라고 부르기도 한다.
  • layout 안에 또 layout을 배치할 수 있다
  • view를 어떻게 배치할 것인가 결정
  • 화면 구성
    • containers : 포함만 시키는 것
  • constraintLayout 마우스 우클릭 - convert view - linear layout - attributes - common attributes - orientation - vertical
  • text view 크기 : common - textview - - common attributes -text appearence
  • res/layout - new - layout resource file
  • 하나의 layout은 다 수의 view를 가질 수 있다. layout 입장에서 붙어 있는 view들은 child이다
    • parent 입장에서 child 가져올 때 배열로 반환
    • child 입장에서 parent 반환 시 하나만 반환
  • linear layout : 위에서 아래 혹은 왼 쪽에서 오른 쪽, 안드로이드에서 가장 많이 사용되는 layout
    • orientation : 가장 중요한 기능으로 view가 배치되는 모양이다. horizontal은 가로, vertical은 세로이다.
  • layout weight : 레이아웃 내에서 차지 할 비율

Widget

  • 어떠한 기능을 가지고 있고 사용자와 상호작용(터치, 키보드 입력 등)하는 요소들
  • 버튼을 사용자가 터치를 하게 되면 개발자가 설정한 기능이 작동하는 요소들

Kotlin만 가능

  • Listener 등을 구현할 때 overriding 할 메서드가 하나 밖에 없는 경우 매개변수를 함수로 받는 고차 함수도 제공
  • 자바에는 고차함수라는 개념이 없어서 제공X

etc

  • 프로젝트 만들기 - empty view activity(안드로이드 스튜디오 하위 버전일 경우 empty activity)
  • 단위
    • matchParent: layout에 맞게 꽉 채우는 것
    • wrapContent : 자신을 완벽하게 표현 할 수 있는 최소 크기
    • 보통 dp로 크기로 정해주기 본단 matchContent와 wrapContent를 조합해서 활용한다,
  • plain text : 입력 요소

'Android' 카테고리의 다른 글

[Android] UI 요소 - View 2  (0) 2023.06.14
[Android] Compound Component  (0) 2023.06.12
[Android] UI 요소 - View  (0) 2023.06.11
[Android] LogCat & UI 요소 - Widget  (0) 2023.06.08
[Android] Application 개발의 개요  (0) 2023.06.07
Comments