반응형
LinkedIn
개발자로 성장하면서 남긴 발자취들을 확인하실 수 있습니다.
Github
WWDC Student Challenge 및 Cherish, Tiramisul 등 개발한 앱들의 코드를 확인하실 수 있습니다.
개인 앱 : Cherish
내 마음을 들여다보는 시간, 체리시는 디자이너와 PM과 함께 진행 중인 1인 개발 프로젝트입니다.
10년 후, 20년 후 나는 어떤 스토리 텔러가 되어 있을지 궁금하다. 내가 만약에 아직 조금 더 탐구하고 싶은 게 있고, 궁금한 게 있다면, 그게 설사 지금 당장의 내 인생에 도움이 안 되는 것 같더라도 경험해보자. 그 경험들을 온전히 즐기며 내 것으로 만들고, 내 일에 녹여내고... 그러다보면 그 점들이 모여 나란 사람을 그려내는 선이 될 테니까.
Recent Posts
Recent Comments
- Total
꿈꾸는리버리
Compose - 키보드 닫기 본문
반응형
1️⃣ import
import androidx.compose.foundation.layout.imePadding
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.ime
import androidx.compose.foundation.layout.isImeVisible
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.platform.LocalFocusManager
2️⃣ View에서 isKeyboardVisible와 focusManager를 정의하고 사용하기
@Composable
fun --View() {
// 키보드가 열려있는지 확인하는 값
val isKeyboardVisible = WindowInsets.ime.getBottom(LocalDensity.current) > 0
// 키보드를 닫을 때 사용
val focusManager = LocalFocusManager.current
Column() {
TextField(
// 코드
)
if (isKeyboardVisible) {
ButtonView(
onClick = {
focusManager.clearFocus(force = true)
}
)
}
}
}
++ 이런식으로 한 줄만 남기도록 할 때에는 키보드의 엔터 버튼을 완료버튼으로 바꾸고, 완료를 누르면 키보드가 내려가게 해도 됨
TextField(
value = value,
onValueChange = onValueChange,
label = { Text(
text = placeHolder,
color = OurdayTheme.colors.gray23
)},
keyboardOptions = KeyboardOptions.Default.copy(
imeAction = ImeAction.Done // 엔터 키를 "완료"로 변경
),
keyboardActions = KeyboardActions(
onDone = {
focusManager.clearFocus() // 엔터 누르면 키보드 내림
}
),
isError = showError,
shape = RoundedCornerShape(10.dp),
textStyle = CustomTypography.lee18,
singleLine = true, // singleLine 설정
maxLines = 1, // 최대 한 줄 설정
modifier = Modifier.fillMaxWidth()
)
반응형
'오뚝이 개발자 > 안드로이드' 카테고리의 다른 글
Ourday - Widget 45초 내 업데이트시 반영 안되는 이슈 해결 (0) | 2025.05.16 |
---|---|
compose - Widget에서 커스텀 폰트 쓰기 !! (0) | 2025.05.15 |
compose - Widget with Glance (0) | 2025.05.12 |
Compose - err_cache_miss 오류 (0) | 2025.05.09 |
Compose - Font 추가하기 (2) | 2025.04.23 |
Comments