반응형

android compose 4

[Android] Compose TextField

개요 TextField는 유저가 텍스트를 입력할 수 있도록 하는 Composable 함수이다. Composable TextField View에서 EditText를 정의했을 땐, 정의한 후 텍스트 입력이 자유로웠지만, TextField에서 텍스트 입력을 사용하기 위해서는 remember API를 함께 사용해야 한다. 아래 코드 블록과 같이 text에 대한 선언이 없다면 TextField에 Text 입력이 제대로 이루어지지 않는다. var text by remember { mutableStateOf("") } TextField( value = text, onValueChange = { text = it }, ) remember API는 간단하게 이야기하면 포함되어 있는 Composable 함수에 저장되는 변..

[Android] Compose Column (Make a Vertical Layout)

소개 Column Modifier VerticalAlignment Content: @Composable ColumnScope.() -> Unit LazyColumn 예제 소개 Compose로 수직 방향 레이아웃을 구성할 때 사용하는 Layout으로 Column이 있다. 수직 방향 레이아웃을 가진 List를 구현할 때도 Column을 사용하는데, XML View 기반으로 구성할 때 사용하는 RecyclerView와 비교했을 때 굉장히 적은 코드로 리스트를 구성할 수 있다는 장점이 있으며, RecyclerView 기능을 완전히 대체할 수도 있다. Column은 Compose의 기초가 되는 Layout답게 androidx.compose.foundation.layout 패키지에 있다. Column @Compos..

[Android] Dive into Compose Side Effect API. Compose Effect Coroutine Logic.

개요 상태 및 사용 사례 LaunchedEffect : Composable 범위에서 suspend function 실행 LaunchedEffect 예제 rememberCoroutineScope : Composition 인식 범위를 확보하여 Composable 외부에서 코루틴 실행 rememberCoroutineScope 예제 DisposableEffect : 정리가 필요한 Effect DisposableEffect 예제 개요 SideEffect API는 Composable 함수의 범위 밖에서 발생하는 앱 상태에 관한 변경사항이다. Composable의 수명 주기 및 속성으로 인해 SideEffect API는 없는 것이 좋지만, 필요한 경우가 발생한다. 예를 들어 스낵바를 표시하거나 특정 상태 조건에 따라..

[Android] Compose TabRow, Pager 예제. 화면 탭 버튼 예제

결과물 예시 Add a dependency TabRow Pager 결과물 예시 Add a dependency TabRow는 기본 Compose 프로젝트 안에 들어있지만, Pager는 따로 추가를 해야 한다. 이전에 Pager는 com.google.accompanist dependemcy 안에 있었지만, 현재 compose-foundation으로 이전됐다. 작성일 기준 최신 버전은 1.4.3 버전이다. TabRow TabRow는 Tab button을 활용해서 화면 전환을 할 때 사용할 수 있도록 설계된 Compose 함수이다. XML View를 활용할 때 사용했던 TabLayout과 비슷하다. 사용 방식은 TabRow Compose 함수를 만들고 블럭 안에 forEach 형식으로 필요한 만큼 Tab Com..