안드로이드/개발관련(Kotlin)

RippleClickable, NoRippleClickable (Compose)

닉네임못짓는사람 2024. 7. 30. 21:07
반응형
@SuppressLint("ModifierFactoryUnreferencedReceiver")
inline fun Modifier.rippleClickable(crossinline onClick: ()->Unit): Modifier = composed {
    clickable(
        indication = rememberRipple(color = colorResource(id = R.color.gray3)),
        interactionSource = remember { MutableInteractionSource() }) {
        onClick()
    }
}

@SuppressLint("ModifierFactoryUnreferencedReceiver")
inline fun Modifier.noRippleClickable(crossinline onClick: ()->Unit): Modifier = composed {
    clickable(
        indication = null,
        interactionSource = remember { MutableInteractionSource() }) {
        onClick()
    }
}

 

Compose modifier의 clickable사용 시 기본적으로 적용돼있는 ripple effct를 없애는 함수와

반대로 ripple effect가 기본적으로 적옹돼지 않은 경우 적용시키는 함수

반응형