xml
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:ellipsize="end"
android:fontFamily="@font/pretendard_regular"
android:gravity="center"
android:maxLines="1"
bind:adjustDayMoneyText="@{item.expenses.outcome}"
android:textColor="@color/red"
android:visibility="@{item.expenses.outcome.equals(``) ? View.GONE : View.VISIBLE}"
app:layout_constraintTop_toBottomOf="@id/tv_cost" />
코드
@BindingAdapter("bind:adjustDayMoneyText")
fun TextView.adjustDayMoneyText(amount: String?) {
amount?.let{
val amountValue = amount.replace(",", "").toLongOrNull() ?: return
when {
amountValue < 1_000_000_000 -> {
this.textSize = 9f
this.text = amount
}
amountValue in 1_000_000_000..99_999_999_999 -> {
this.textSize = 8f
this.text = "$amount..."
}
}
}
}
분명 값에 따라 값이 바뀌어야 하는데... 안바뀌었다.
이유를 찾아냈다 ! ...
바로 -100,000,000 마이너스 값을 기준으로도 수의 크기를 세서 했어야했는데 하지 못한 것...
그래서 절댓값 적용해서 해줬더니 크기가 알맞게 바뀌었다..
로그를 찍어봤는데, 애초에 settext값 조차 바뀌지 않았기에... ㅜ_ㅜ뭐지? 했는데 음수값도 설정을 해줬어야 하는 것..
val amountValue = kotlin.math.abs(amount.replace(",", "").toLongOrNull() ?: return)
코틀린 최고 ~~
'Android' 카테고리의 다른 글
[네이버 부스트캠프] 베이직 과정 START (0) | 2024.06.21 |
---|---|
[Android] 2024 드로이드나이츠 - 기록하고 싶은 내용 정리 (1) | 2024.06.11 |
[Android] 단위 테스트 코드 작성 (0) | 2024.05.24 |
[Android] FCM (Firebase Cloude Messaging Service) 구현 과정 (0) | 2024.05.21 |
[Android] getty 이미지 가져오기 - 이미지 크롤링 (0) | 2024.05.07 |