Kotlin programming/Compose
[Compose] 'by' 가 동작하지 않을 때
Compose by rember is not working compose 학습 중 by를 사용하려 했더니 빨간줄로 나와 사용할 수 없어서 찾아 보니 import가 누락 돼서 발생한 에러 였습니다. import androidx.compose.runtime.getValue import androidx.compose.runtime.setValue 직접 상단에 입력하면 사용 할 수 있습니다.
![[Compose] 하철이 - 가로 스크롤 아이템](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb12BkW%2Fbtrq60t7uKa%2FhNSUezbkI3fywRV8OOM3jk%2Fimg.png)
[Compose] 하철이 - 가로 스크롤 아이템
Compose 스터디를 위해서 기존 개발된 "하철이"앱을 compose 로 바꿔보는 중입니다. 1. 기본 텍스트 상단 Text( text = "실시간 하철이", fontSize = 25.sp, textAlign = TextAlign.Center, modifier = Modifier .align(Alignment.CenterHorizontally) .padding(top = 35.dp) .fillMaxWidth() ) 2. 가로 스크롤 Row LazyRow( modifier = Modifier.fillMaxWidth().padding(5.dp), state = rememberLazyListState() ) { items(subwayLines) { subway -> stationLinesItem(subway..
[Compose] livedata 에 observeAsState 함수 사용하기
구글 디벨롭에서 Compose 코스를 공부 하던 중에 livedata 에 observeAsState를 사용하는 예제가 있습니다. 제 앱에서 해당 함수를 호출 하려니 observe만 있고 observeAsState 라는 함수는 없었고 왜 없나 해서 찾아 보니 사용하는 라이브러리 패키지가 달랐습니다. import androidx.compose.runtime.getValue import androidx.compose.runtime.livedata.observeAsState @Composable private fun TodoActivityScreen(todoViewModel: TodoViewModel) { val items: List by todoViewModel.todoItems.observeAsState(l..
[Compose] 클릭했을 때 리플 효과 비활성화(disable ripple effect when clicking in Jetpack Compose)
Compose 스터디중 버튼이 아닌 Row, Column 에다 클릭이벤트를 넣어서 테스트 해봤는데, 기본 리플 효과가 적용되어 있어서 비활성화 기능을 적용해 봤다. Modifier extension을 사용 하면 리플효과 비활성화가 가능하다. inline fun Modifier.noRippleClickable(crossinline onClick: ()->Unit): Modifier = composed { clickable(indication = null, interactionSource = remember { MutableInteractionSource() }) { onClick() } } 위와 같이 선언 하고 아래와 같이 사용하면 됩니다. Row( modifier = Modifier.noRippleCli..