현재는 style.xml 에서 themes.xml로 바뀐 듯 하다.
아무튼 여기서 style 태그 안에서
<item name="colorAccent">@color/primary</item>
<item name="android:textCursorDrawable">@color/primary</item>
<item name="android:textColorHighlight">@color/primary</item>
<item name="android:editTextColor">@color/black1</item>
이런식으로 하면 효과가 적용된다.
내용 | 값 |
---|---|
포커스 상태의 밑줄 색 | colorControlActivated |
포커스 아닌 상태의 밑줄 색 | colorControlNormal |
손잡이 부분 색상 | android:textSelectHandle / colorAccent |
텍스트 선택시 하이라이트 | android:textColorHighlight |
커서 색 | android:textCursorDrawable |
텍스트 색 | android:textColor |
editText background 속성을 주었을 경우 background의 테두리를 포커스에 따라 색을 다르게 하고 싶은 경우가 있을 수 있다.
이럴 경우
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- EditText가 포커스를 받을 때 -->
<item android:state_focused="true">
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<stroke android:width="2dp" android:color="@color/primary" />
<solid android:color="@color/white" />
<corners android:radius="2dp" />
<padding android:bottom="7dp" android:left="16dp" android:right="220dp" android:top="7dp"></padding>
</shape>
</item>
<!-- EditText가 포커스를 받지 않을 때 -->
<item android:state_focused="false">
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<stroke android:width="2dp" android:color="@color/dbdbdb" />
<solid android:color="@color/white" />
<corners android:radius="2dp" />
<padding android:bottom="7dp" android:left="16dp" android:right="220dp" android:top="7dp"></padding>
</shape>
</item>
</selector>
다음과 같이 코드를 사용하면 된다.