Carrot
Android

[Jetpack Compose] Compose 기초

NaDuck 2023. 1. 14. 14:00

Compose 라이브러리는 kotlin 언어를 지원한다. 

 

MainActivity.kt 파일

기존의 레이아웃 xml 파일과 java(또는 kotlin) 코드를 분리하여 사용하는 방법이 아닌, 

kotlin 코드 상에서 UI를 한 번에 관리한다는 특징이 있다. 

 

Composable 함수

@Composable 주석이 달린 함수

위의 Greeting 함수가 Composable 함수이며, String("Hello $name!")을 표시하는 UI를 생성한다. 

Text는 Compose 라이브러리에서 제공하는 또다른 Composable 함수이다. 

 

 

setContent를 사용하여 레이아웃을 정의한다.

기존의 레이아웃 xml 파일 대신, setContent 내부에 composable  함수를 사용한다. 

 

 

"앱 이름 + Theme"은 Composable 함수의 스타일을 지정하는 방법이다. 

 

안드로이드 스튜디오 미리보기

  • 파일 우측 상단의 "split" 또는 "design"으로 미리보기를 지원한다. (확실히 에뮬레이터 빌드보단 빠르지만 이것도 마냥 빠르진 않은 듯)
  • 미리보기를 위해서 @Preview 주석을 표시해야 한다.
  • 한 파일에 미리보기를 여러 개 만들 수 있다.

(2023.1.24 기준 안드로이드 스튜디오 SDK 업데이트)

Build refresh를 하지 않아도 자동으로 미리보기 build가 실행된다. 

  • 코드에 오류가 있는 경우 자동 build가 puase
  • 다시 정상 작동할 때 미리보기 build도 자동으로 실행됨