Я пытаюсь установить цвет подчеркивания TextInputEditText
в TextInputLayout
. При установке colorControlActivated
на нужный цвет курсор меняет цвет, но подчеркивание не реагирует.
Я пытался:
- Создание стиля с определением
colorControlHighlight
, colorControlNormal
и colorControlActivated
. Настройка тем виджетов как в файле макета, так и в манифесте. - Установка фона поля ввода для рисования с подчеркиванием, нарисованным вручную.
Здесь определен стильв values / themes.xml:
<style name="AppTheme.DetailItem" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox">
<item name="android:colorControlNormal">#ff0000</item>
<item name="android:colorControlHighlight">#0000ff</item>
<item name="android:colorControlActivated">#ff00ff</item>
</style>
И примененная тема:
<com.google.android.material.textfield.TextInputLayout
android:theme="@style/AppTheme.DetailItem"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:errorEnabled="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/value"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:enabled="false"
android:maxLines="1"
android:textAppearance="?textAppearanceBody2"
tools:text="Name" />
</com.google.android.material.textfield.TextInputLayout>
Я бы ожидал, что подчеркивание TextInputEditText
изменит цвет на colorControlActivated
при фокусировке,и colorControlNormal
когда не сфокусировано. Однако, несмотря ни на что, цвет подчеркивания остается черным, когда не сфокусирован, и colorPrimary
, когда фокусируется. Однако курсор изменяется на colorControlActivated
, когда поле сфокусировано, поэтому виджет распознает стиль, который я определил, но не использует цвета стиля для рисования подчеркивания.