본문 바로가기

Android/공부

에디트텍스트(EditText) 관련 짜투리 지식 1 (실시간으로 쉼표 표시하기, 커서 커스텀, 동그란 커서 색상 변경)

1. 실시간으로 숫자에 쉼표 표시하기

화폐 단위를 입력할 경우 쉼표를 사용하면 좀 더 보기 편하게 만들 수 있습니다.

이 경우 먼저 NumberFormat 를 사용하면 됩니다.

val price = binding.editText.text.toString().toInt()
val formatter = DecimalFormat("#,###") as NumberFormat
val priceText = formatter.format(price) + "원"
binding.editText.text = priceText

먼저 editText에서 값을 가져온 후, NumberFormat을 사용해서 숫자 3개 마다 쉼표를 사용할 수 있도록 설정합니다.

이후 가져온 값에 해당 형식을 적용하고, 이를 editText에 적용하면 됩니다.

2. 커서 커스텀

android:textCursorDrawable="@drawable/custom_cursor"

[custom_cursor]

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item >
        <shape android:shape="rectangle">
            <solid android:color="@color/mackduck_yellow"/>
            <size
                android:width="2dp"
                android:height="18dp"/>
        </shape>
    </item>
</layer-list>

해당 속성을 사용하면 커서의 색상 밑 모양을 커스텀할 수 있습니다.

이렇게 변경할 수 있습니다.

3. 커서 밑에 동그란 부분 색상 변경

여기 노란색 동그란 부분의 색상은 다음 속성을 통해 변경할 수 있습니다.

 <item name="colorAccent">@color/mackduck_yellow</item>

이 속성을 style에 정의한 후, 해당 style을 설정해주면 됩니다.

만일 이 동그라미를 아예 없애고 싶다면, 해당 속성을 null 로 해주시면 됩니다.

728x90
반응형