Поздно на вечеринку, Вот мой ответ,
Это для людей, которые не хотят изменить colorAccent
в родительской теме, но хотят изменить EditText
атрибуты!
Этот ответ демонстрирует, как изменить ......
- Цвет нижней строки
- Цвет курсора
- Цвет указателя курсора (я использовал свое собственное изображение) .......... из
EditText
с использованием стиля, примененного к теме «Активность».
<android.support.v7.widget.AppCompatEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Hey" />
Пример:
<style name="AppTheme.EditText" parent="@style/Widget.AppCompat.EditText">
<item name="android:textColor">@color/white</item>
<item name="android:textColorHint">#8AFFFFFF</item>
<item name="android:background">@drawable/edit_text_background</item> // background (bottom line at this case)
<item name="android:textCursorDrawable">@color/white</item> // Cursor
<item name="android:textSelectHandle">@drawable/my_white_icon</item> // For pointer normal state and copy text state
<item name="android:textSelectHandleLeft">@drawable/my_white_icon</item>
<item name="android:textSelectHandleRight">@drawable/my_white_icon</item>
</style>
Теперь создайте drawable (edit_text_background
), добавьте xml-ресурс для фона! Вы можете настроить его как хотите!
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="0dp"
android:left="-3dp"
android:right="-3dp"
android:top="-3dp">
<shape android:shape="rectangle">
<stroke
android:width="1dp"
android:color="@color/white"/>
</shape>
</item>
</layer-list>
Теперь, когда вы установили этот стиль в своей теме «Активность».
Пример:
В вашей деятельности у вас есть тема, установите эту пользовательскую тему editText
на эту тему.
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Your Theme data -->
<item name="editTextStyle">@style/AppTheme.EditText</item> // inculude this
</style>