본문 바로가기
Project/안드로이드 프로젝트(HomingBird)

Android Studio, Java ] Edit text color 변경(밑줄, 커서, 하이라이트 등)

by 김마리님 2020. 11. 24.

안드로이드는 기본적으로 정해진 디폴트 컬러가 있다.

 

테마에 들어가면 칙칙한 그 색깔인데.. 그게 디폴트 컬러로 정해져서 커서를 올리면 이런 색상이 등장한다 (오)

 

이 색을 테마에 맞추어 변경한다.

 

간단하다. style.xml 을 열여 새 테마를 추가해준다.

 

- style.xml

...
<!--edit text default style-->
    <style name="editText" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorAccent">@color/color_eb9f9f</item>
        <item name="colorControlNormal">>@color/color_a79c8e</item>
    </style>
</resources>

상속받는 부모는 내가 현재 사용하는 테마와 동일하게 지칭해준다. 저는 앱바를 쓰지 않아서 NoActionBar로 부모를 상속받았다.

Accent는 포커싱 되었을 때의 색상을 의미하고, ControlNormal은 포커싱 되지 않을때의 색상을 의미한다.

 

이제 이 테마를 edittext에 지정한다

 

- fragment_write_message_second.xml

...
        <EditText
            android:id="@+id/editTextName"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="14sp"
            android:textColor="@color/color_838383"
            android:theme="@style/editText"
            />
...

 

전체적으로 다시 살펴보면 다음과 같이 된다.

다음처럼 포커싱 안됐을 때 / 포커싱 됐을 때 의 색상이 다름을 알 수 있다. 

반응형