본문 바로가기

Jetpack Compose9

Jetpack Compose Icon 이미지 검은색 문제 icon 벡터 이미지가 필요하기에 추가해 주었다. 하지만 실제 Icon에 적용시키면 다음과 같은 문제가 발생한다. 해결법은 간단하다. Icon( painter = painter, contentDescription = contentDescription, tint = Color.Unspecified // 해당 속성값을 추가시켜주면 된다. modifier = Modifier .padding(start = 8.dp) .offset(y = (20).dp) .zIndex(1f) ) 아이콘에 색상을 지정하지 않는다는 설정으로 아이콘의 원래 색상이 유지된다. Icon 코드를 살펴보면 @Composable fun Icon( painter: Painter, contentDescription: String?, modifie.. 2023. 9. 24.
[Jetpack Compose] Text가 너무 길어서 공간을 벗어날 때 텍스트를 자르고 "..." 넣기 간단하게 Card로 구현한 예시입니다. Card( modifier = Modifier .fillMaxWidth() .padding(4.dp) ) { Row( modifier = Modifier.padding(18.dp) .fillMaxWidth(), horizontalArrangement = Arrangement.SpaceBetween, ) { Text( text = "안녕하세요", ) } } 현재 상태에서는 아무런 문제가 없지만 text의 양이 길어지면 문제가 발생합니다. 위 문제는 간단하게 Text의 매개변수인 maxLines와 overflow 설정해 주면 됩니다. Card( modifier = Modifier .fillMaxWidth() .padding(4.dp) ) { Row( modifier =.. 2023. 7. 26.
Jetpack Compose에세 topBar가 하위 컴포지션을 가리는 문제 (간단) 본 글은 정확하지 않을 수 있습니다. 참고용으로만 봐주시면 감사하겠습니다. 다른 화면에서는 발생하지 않았던 문제가 위 화면에서는 발생하였다. 위 문제는 modifier에 대한 이해 부족으로 발생한 문제로 쉽게 해결할 수 있었다. 해결법 @Composable fun MainScreen( modifier: Modifier = Modifier, ) { Scaffold( topBar = { MbitTopAppBar( ... ) }, ) { innerPadding -> MainBody( modifier = Modifier .padding(innerPadding) // 패딩 전달 .fillMaxSize() ) } } @Composable fun MainBody( modifier: Modifier = Modifier.. 2023. 7. 24.
Jetpack Compose에서 Room 사용 | DB 사용 본 글은 정확하지 않을 수 있습니다. 참고용으로만 봐주시면 감사하겠습니다. 공식 Room 사용 예제와 가이드를 참고하여 정리하였습니다. 코드는 공식 Room 사용 예제에 있는 코드를 가져왔습니다. 처음에 Room라이브러리를 접했을 때 Database는 백엔드에서 관리를 해주는데 왜 앱 개발에서도 Database가 쓰이는지 의아하였다. 하지만 각 Database의 쓰임새는 다르며 Room이 언제 쓰이는지 살펴보면 그 차이점을 알 수 있다. 앱에서 유지해야 하는 로컬 데이터, 예를 들어 노래 재생목록이나 할 일 목록의 항목, 수입 및 지출 기록, 별자리 카탈로그, 개인 정보 기록 등을 저장할 수 있다. 기기가 네트워크에 액세스 할 수 없을 때도 사용자가 오프라인 상태로 계속 콘텐츠를 탐색할 수 있도록 관련 .. 2023. 7. 18.
반응형