안드로이드/Compose

안드로이드/Compose

[Compose] - State가 변경 되어도 UI에 반영이 안되는 이슈 해결

문제 상황 ViewModel에서 서버에 요청을 보낸 후 받아온 응답을 State에 반영하였을 때,Recomposition은 발생하는데 UI에는 데이터가 표시되지 않는 이슈가 있었습니다. MainActivity.kt먼저 MainScreen에선 아래와 같이 LazyColumn 내에 여러 레이아웃이 item으로 들어가는 구조입니다.Mutli ViewType RecycleView 처럼 구성 되어있습니다.@Composablefun MainScreen(state: MainState) { Log.d("MainScreen", "Top chart list: ${state.topChartList}") Scaffold( containerColor = WePLiTheme.color.black, ..

안드로이드/Compose

[Compose] - LazyRow 아이템 최대 높이로 고정하기

문제 상황Jetpack Compose에서 LazyRow를 사용하다 보면 각 아이템의 높이에 따라 LazyRow의 전체 높이가 변경되는 상황을 종종 겪게 됩니다. 특히 아래 스크린샷 같이, 제목이 한 줄 또는 두 줄로 구성되어 있을 때, 두 줄인 항목의 높이에 맞춰서 LazyRow가 고정될 것이라고 예상합니다. 하지만 사용자가 스크롤하여 해당 항목이 화면에서 사라지면 LazyRow의 높이가 줄어드는 현상이 발생합니다. 해결 방안이를 해결하기 위해선 LazyRow의 전체 높이를 아이템 중 가장 큰 높이에 맞추어야 합니다.가장 큰 높이의 항목을 기준으로 LazyRow의 높이를 고정하기 위해 SubComposeLayout을 이용합니다. SubComposableLayout은 레이아웃을 그리는 과정에서 다른 레이아..

안드로이드/Compose

[Compose] - Design System 구축 - 2. ColorScheme 만들기

[안드로이드] - Compose Typography 만들기1. FontFamilry 정의우선 FontFamily 클래스를 정의합니다.// Type.ktval pretendard = FontFamily( Font(R.font.pretendard_thin, FontWeight.Thin, FontStyle.Normal), Font(R.font.pretendard_extralight, FontWeight.ExtraLight, FontStyle.Normal), Font(R.dongx2.tistory.com 이전 게시글에서 Compose로 Typography를 선언하는 방법에 대해서 알아보았습니다.이번엔 ColorScheme을 선언하는 방법을 정리하였습니다. 1. Color 선언DesignSystem > Color..

안드로이드/Compose

[Compose] - Design System 구축 - 1. Typography 만들기

1. FontFamilry 정의우선 FontFamily 클래스를 정의합니다.// Type.ktval pretendard = FontFamily( Font(R.font.pretendard_thin, FontWeight.Thin, FontStyle.Normal), Font(R.font.pretendard_extralight, FontWeight.ExtraLight, FontStyle.Normal), Font(R.font.pretendard_light, FontWeight.Light, FontStyle.Normal), Font(R.font.pretendard_regular, FontWeight.Normal, FontStyle.Normal), Font(R.font.pretendard_..

안드로이드/Compose

[ Compose ] - Compose Box

1. Box요소의 겹침을 허용하는 것이 특징Column, Row가 LinearLayout과 비슷한 Composable이라면, Box는 FrameLayout과 비슷  setContent { ComposeTheme { // 모든 Composable은 Modifier를 적용할 수 있음 Box { Text(text = "Hello") Text(text = "12123123~~~~") } } } 위와 같이 Box만 선언 했을 땐 2개의 Text가 겹치는 것을 볼 수 있음 Box( modifier =..

dongx._.2
'안드로이드/Compose' 카테고리의 글 목록