일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- android
- 리스트
- Dependency
- 티스토리챌린지
- 문자열
- 백준파이썬
- 자바리스트정렬
- ContentProvider
- 배열
- 자바
- Provider
- nullpointerexception방지
- 백준
- 자료형
- jetpack
- programmers
- 파이썬
- compose
- list
- Hilt
- disposableeffect
- Python
- 파이썬문법
- 오블완
- Java
- Kotlin
- 프로그래머스
- 자바set
- composelifecycle
- filternotnull()
Archives
- Today
- Total
study gomi
[Compose] longclick + longclick 안 될 때 본문
728x90
반응형
그냥 클릭했을 때 동작 - 길게 클릭했을 때 동작 구분 예시
참고한 사이트: https://stackoverflow.com/questions/65835642/button-long-press-listener-in-android-jetpack-compose
modifier = Modifier.clickable(
onClick = {
Timber.i("Clicked: monitoringMode(true)")
},
onLongClick = {
Timber.i("Long clicked: monitoringMode(false)")
}
)
새 프로젝트 하는데 이게 안 통함.
dependencies {
implementation "androidx.compose.ui:ui:<version>"
implementation "androidx.compose.material3:material3:<version>"
// ... 다른 Compose 종속성
}
build.gradle 파일에서 사용 중인 Compose의 버전을 확인 → 1.0.0 이상의 버전에서는 onLongClick이 지원됩니다.
라는데 현재 내 버전은 훨씬 그 이상. 그래서인지 아무튼 안 됨.
아무튼 onLongClick 안 될 때 대체 방법은 Modifier.pointerInput을 사용하는 것이다.
예시)
import androidx.compose.foundation.gestures.detectTapGestures
import androidx.compose.ui.input.pointer.pointerInput
@Composable
fun LongClickEx() {
Text(
text = "text",
modifier = Modifier.pointerInput(Unit) {
detectTapGestures(
onTap = {
Timber.i("Clicked")
},
onLongPress = {
Timber.i("Long pressed")
}
)
}
)
}
- 이 코드에서는 detectTapGestures를 사용하여 클릭 및 길게 클릭을 감지.
- 이렇게 하면 Clickable Modifier의 한계를 피할 수 있다.
728x90
반응형
'App > Android' 카테고리의 다른 글
[Android/Kotlin] text를 표시하는 floating button (jetpack compose) + button 아래에 하얀색 공백이 보이는 문제 (0) | 2024.10.23 |
---|---|
[Android/Kotlin] expandable + moveable/draggable Floating button (jetpack compose) (3) | 2024.10.23 |
[Android/Kotlin] suspend fun, let vs apply (1) | 2024.10.18 |
[Android] 뒤로가기 막기 (stop + preventing backspace) kotlin (1) | 2024.10.18 |
[Compose] 연속 클릭 동작 composable (1) | 2024.10.14 |