본문 바로가기

Android

Compose Basic

@Composable

@Composable
fun Greeting(name: String, modifier: Modifier = Modifier) {
    Text(
        text = "Hello $name!",
        modifier = modifier
    )
}
  • 구성 가능한 함수
  • @Composable 선언을 하면 다른 @Composable 함수를 호출할 수 있다. 
  • 구성 가능한 함수는 자주 실행될 수 있고 순서와 관계없이 실행될 수 있으므로 코드가 실행되는 순서 또는 이 함수가 다시 구성되는 횟수에 의존해서는 안 된다.
  • Text 또한 구성 가능한 함수이다. 

 

화면 정의

setContent {
    ComposeBasicTheme {
        // A surface container using the 'background' color from the theme
        Surface(
            modifier = Modifier.fillMaxSize(),
            color = MaterialTheme.colorScheme.background
        ) {
            Greeting("Android")
        }
    }
}
  • setContent: 레이아웃을 정의
  • ~~Theme: 테마 설정
  • Surface: 배경이나 태두리 설정
  • Greeting(): Surface로 실행할 함수

Compose에서 UI 단위 : 숫자.dp ex) 4.dp 

 

 

레이아웃의 3가지 요소

  • Column
    • 세로배치
  • Row
    • 가로배치
  • Box
    • 박스 배치(겹치는 것 가능)

 

Composable 내부에 상태 추가

  • mutableStateOf 함수를 사용하여 추적
  • 리컴포지션: 데이터가 변경되면 Compose는 새 데이터로 이러한 함수를 다시 실행하여 업데이트된 UI를 만드는 것
  • 여러 리컴포지션 간에 상태를 유지하려면 remember를 사용하여 변경 가능한 상태를 기억해야 한다.

 

상태 호스팅

  • @Composabel 함수들의 공통의 상위 항목을 만드는 것
  • 사용 목적: Composable을 재사용, 쉽게 테스트 가능

LazyColumn, LazyRow

  • Android 뷰의 RecyclerView와 동일
  • RecyclerView와 다르게 하위 요소를 재활용하지 않음

 

'Android' 카테고리의 다른 글

안드로이드에서 Enum  (0) 2024.04.22
MVI  (0) 2024.04.01
Plugin을 사용하여 안드로이드 API KEY 숨기는 법 (Google Map)  (0) 2024.03.28
AndroidManifest.xml  (0) 2024.03.15
Bundle  (0) 2024.03.13