이전 글에서는 Jetpack Compose란 무엇인가?라는 주제로 Compose의 개념과 특징, 기존 View 시스템과의 차이점에 대해 소개해드렸습니다.
Jetpack Compose를 활용하기 위해서는 먼저 개발 환경 설정을 올바르게 하는 것이 중요합니다.
이번 글에서는 Android Studio 설정 방법부터 Jetpack Compose 프로젝트 생성, Gradle 설정, 그리고 Compose의 Preview 기능 활용법까지 알아보겠습니다.
Jetpack Compose는 Android Studio에서 공식적으로 지원합니다. 안정화된 버전 중 최신 버전 사용을 권장합니다.
Compose의 Preview 기능의 업데이트 등 최신 버전의 안드로이드 스튜디오에서는 더 개선된 기능을 제공합니다. 따라서, 최신 버전의 안드로이드 스튜디오 버전을 사용하시는 것을 권장합니다.
Compose 프로젝트는 Android Studio에서 제공하는 템플릿을 통해 간단히 생성할 수 있습니다.
File > New > New Project
선택New Project
버튼을 바로 클릭하면 됩니다.Empty Activity
템플릿 선택-
를 섞어서 작성하실 수도 있습니다.Package name
은 작성하신 Name에 따라 자동으로 기입됩니다.API 21 (Android 5.0)
이상 선택Compose가 제대로 작동하려면 build.gradle(:app)
에 아래 항목이 포함되어 있어야 합니다.
android {
...
buildFeatures {
compose = true
}
composeOptions {
kotlinCompilerExtensionVersion = "사용하는 코틀린 버전에 맞는 값"
}
}
📌 Kotlin Compiler Extension 버전은 사용 중인 Kotlin 버전 및 Compose 버전에 따라 달라질 수 있으니, 공식 버전 가이드를 확인하세요.
Compose 프로젝트는 기존 XML 기반 프로젝트와 달리 코틀린 파일 중심으로 구성됩니다.
app/
├── MainActivity.kt // 앱의 진입점
├── ui/theme/ // 테마 설정
│ ├── Theme.kt
│ ├── Color.kt
│ ├── Type.kt
└── ...
🎯 테마를 활용하여 전체 UI의 일관성을 유지할 수 있습니다.
이제 프로젝트를 생성했으니, 아주 간단한 UI를 Compose로 직접 만들어봅시다.
MainActivity.kt
파일 하단에 아래의 예시 코드를 따라서 작성하거나 복사/붙여넣기 해봅시다.
Greeting
함수가 있다면 삭제한 후에 진행해주세요!import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
@Composable
fun Greeting(name: String) {
Text(text = "안녕하세요, $name!")
}
@Composable
어노테이션을 함수 위에 붙임으로써 Jetpack Compose의 UI를 만들 수 있습니다.컴포저블 UI
혹은 컴포저블 함수
라고 불립니다.컴포저블 함수
라는 용어를 사용하도록 하겠습니다.Jetpack Compose의 강력한 기능 중 하나는 바로 Preview 기능입니다.
코드를 작성하면서 실시간으로 UI를 확인할 수 있어, 개발 속도와 편의성이 크게 향상됩니다.
Greeting
함수는 그대로 두고, Preview를 위한 함수만 추가한 예시입니다.Greeting
함수를 작성해두셨다면, 아래 코드에서 GreetingPreview
함수만 추가하셔도 됩니다.import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.tooling.preview.Preview
@Composable
fun Greeting(name: String) {
Text(text = "안녕하세요, $name!")
}
@Preview(showBackground = true)
@Composable
private fun PreviewGreeting() {
Greeting("Jetpack Compose")
}
컴포저블 함수
를 사용하는 새로운 컴포저블 함수
를 만듦으로써 미리보기를 위한 컴포저블 함수를 만들 수 있습니다.@Preview
어노테이션을 컴포저블 함수 위에 붙임으로써 미리보기를 위한 컴포저블 함수를 만들 수 있습니다.showSystemUi = true
, uiMode = Configuration.UI_MODE_NIGHT_YES
등의 옵션을 활용하면 다양한 화면 상태를 미리 볼 수 있습니다.옵션 | 설명 |
---|---|
showBackground | 배경색을 포함하여 UI를 표시합니다 |
showSystemUi | 상태바와 내비게이션 바를 함께 표시합니다 |
uiMode | 다크 모드 등 다양한 시스템 UI 모드를 테스트할 수 있습니다 |
device | 특정 기기의 해상도 및 화면 크기로 미리볼 수 있습니다 |
💡 여러 개의 Preview 함수를 작성하면, 다양한 상태와 디자인을 동시에 비교하고 테스트할 수 있어 매우 유용합니다.
Jetpack Compose는 간단한 설정만으로 바로 시작할 수 있으며, 특히 Preview 기능을 활용하면 XML보다 훨씬 빠르고 효율적으로 UI를 개발할 수 있습니다.
이번 글에서는 Jetpack Compose 개발 환경 구축부터 간단한 UI 구성까지 실습해보았습니다.
다음 글에서는 Text
, Button
, Image
, Column
, Row
, Box
등 Jetpack Compose의 기본 UI 구성 요소를 하나씩 살펴보고, Modifier
를 활용하여 크기, 정렬, 패딩 등을 조정하는 방법도 함께 배워보겠습니다.🚀