[Android Compose] Icon onClick Event
2024. 8. 29. 18:36
[# 2]…My DevelopStory
문제발생Icon( imageVector = Icons.Default.Clear, contentDescription = "", tint = Color.Black,)기존에 추가한 Icon을 클릭해야 할 일이 생겨버렸다.아무리 뒤져보아도 onClick 이벤트를 찾을 수 없어서 구글링을 해보았다. 해결IconButton( onClick = { //TODO }, modifier = Modifier.size(24.dp)) { Icon( imageVector = Icons.Default.Clear, contentDescription = "", tint = Color.Black, )}처음에는 Box를 씌워보았지만 Box에도 onClick은 없었..
[Android Compose] BasicTextField Decimal formattng ~ 천단위 쉼표 추가
2024. 8. 28. 18:45
[# 2]…My DevelopStory
1. 문제발생BasicTextField 을 사용하면서 가격이 들어오면 천단위로 쉼표가 들어가는 로직이 필요했다.네이티브에서는 간단하게 포맷팅을 하면 되었는데 구글링을 해보니 정말 어려워 보였다. 생소한 visualTransformation을 커스텀해야했다. 2. 해결사실 나는 숫자만 들어가고 inputType도 Number로 되어 있다.그래서 간단하게 해결이 가능했다.val decimalFormat = DecimalFormat("#,###")onValueChange = { newText -> val cleanedText = newText.replace("[^0-9]".toRegex(), "") text = if (cleanedText.isNotEmpty()) { "${decimal..
[Android Compose] BasicTextField을 이용한 커스텀 사투기
2024. 8. 27. 04:09
[# 2]…My DevelopStory
Compose에서는 EditText가 TextField로 되어 있고, 이를 커스텀 하기 위해서는 BasicTextField을 사용해야 한다는 것을 알았다. 1. 문제발생내가 원하는 TextField는 위 이미지와 같이 되어 있으며 양 끝에는 Icon Vector 이미지가 들어가게 하고 싶었다.네이티브라면 바로 해버렸을 이 디자인을 꽤 오랜시간 만지게 되었다.BasicTextField( modifier = Modifier.wrapContentWidth(), textStyle = TextStyle(textAlign = TextAlign.Start), value = priceTextValue, maxLines = 1, keyboardOptions = KeyboardOptions(ke..
[Android Compose] Scaffold Content padding parameter it is not use
2024. 8. 26. 19:08
[# 2]…My DevelopStory
Compose를 사용할 때 최상위에 Scaffold를 사용해야 한다고 한다.Scaffold를 통해 Appbar나 Title, BottomBar 등을 셋팅할 수 있는데, 이를 사용하지 않을 경우에도 Scaffold를 사용할 수 는 있다. 하지만 단순히 Scaffold만 추가해 놓았더니 문제가 발생했다. 문제발생나는 AppBar나 BottomBar 등등의 UI는 필요하지 않다. 단순히 공부용으로 만지고 있는데, Scaffold를 추가하니 계속 Content padding parameter it is not use 만 뜨고 어노테이션을 붙이면 해결이 된다고 한다. 아니 이게 무슨 일인가 Padding을 쓰라니.. Padding은 어디서 나온 것이며 심지어 나는 Padding도 필요하지 않는데 말이지 해결set..
[Android Compose] Compose Dagger Hilt 적용하기
2024. 8. 26. 18:23
[# 2]…My DevelopStory
1. Module-App gradle Settingimplementation (libs.hilt.android)kapt (libs.hilt.android.compiler)implementation(libs.androidx.hilt.navigation.compose)plugins { id ("com.google.dagger.hilt.android") id ("kotlin-kapt") kotlin("kapt")} 나는 아직 옛날인간이라 예전 Gradle 스타일이 익숙하지만 요즘에는 저렇게 버전을 명시해 주지 않는가 보다.그래서 버전이 어디 명시되어 있나 타고 가보면libs.versions.toml 이라는 곳에 정리가 되어 있는 것을 알 수 있었다. [versions]agp = "8.5.0"h..