목표
1. xml 파일에서 EditText의 속성추가를 통해 커서, 밑줄의 색상을 변경할 수 있다.
EditText?
EditText는, 사용자에게 어떤 값들(텍스트, 숫자 등)을 입력받을 때 사용하는 속성입니다.
숫자만 입력받게 하거나, 입력할 수 있는 글자수를 제한하거나... 여러가지 제한을 할 수 있는 속성이 있지만
이번 포스팅에서는 EditText가 활성화 되었을 때 표시되는 커서와 밑줄 색상 변경해 대해서 다루겠습니다.
기본적으로, EditText는 활성화 상태가 되면 밑줄, 커서, 그리고 영역지정 부분이 민트색상으로 표시됩니다.
그리고 영역지정된 부분의 양 끝에 위치해 있는 기울어진 물방울 같은 모양도 바꿀 수 있습니다.
1. xml 코드에서 변경하기
커서의 경우.. 'textCursorDrawable' 이름에서 볼 수 있듯이 이미지로 지정하는게 원칙인 것 같습니다.. ㅎㅎ
혹시나 하고 색상으로 지정해본 결과 색이 변하긴 하지만, 정말 얇은 커서로 바뀌기 때문에 차이를 잘 느끼지 못합니다.
얇은 직사각형 이미지를 하나 준비해서 오른쪽 사진과 같이 이미지를 적용하면 차이를 느끼실 수 있습니다!
저는 차이를 한 눈에 확인하기 위해 삼각형 모양을 커서로 지정했습니다.
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20dp"
android:backgroundTint="@color/yellow" <!-- 밑줄 색상 변경 : 비활성화, 활성화 상태 모두 -->
android:textColorHighlight="@color/yellow" <!-- 영역지정 배경색 변경 -->
android:textSelectHandle="@drawable/ic_select_handle_24" <!-- 현재 활성화된 커서 아래 이미지 추가 -->
<!-- 커서 색상 변경 : color(차이가 미묘하게 나타남), image 파일 권장 -->
android:textCursorDrawable="@color/rad"
<!-- 영역지정 좌,우 커서 아래 이미지 추가 -->
android:textSelectHandleLeft="@drawable/ic_point_right_24"
android:textSelectHandleRight="@drawable/ic_point_left_24"
/>
1-1. @color/red , @color/yellow 가 뭔가요?
res > values > colors.xml 에서 색상을 선언하고 사용하시면 됩니다.
1-2. 커서 이미지 @drawable/ic_select_handle_24, @drawable/ic_point_right_24... 는 어디에 있나요?
사용하고자 하는 이미지를 drawable 폴더에 집어 넣고 사용하시면 됩니다.
위 예제에서는 drawable 폴더에서 우클릭 > New > Vector Asset 에서 원하는 이미지를 선택하여 사용했습니다.
'Android > Java' 카테고리의 다른 글
[Android] 어플 패키지명 확인하는 방법 (0) | 2021.05.04 |
---|---|
[Android/java] Intent eamil 전송하기 / 안드로이드 gmail로 보내기 (0) | 2021.05.04 |
[Android] 앱 수면상태/DozeMode/잠자기 모드에 대한 모든 것 (0) | 2021.03.28 |
[Android] 안드로이드 스튜디오로 휴대폰 기종 확인 방법 (0) | 2021.02.17 |
[Android/SQLite] SQLite 데이터, 테이블 확인방법! SQLiteBrowser 설치 (0) | 2021.02.11 |