У меня в приложении странная ошибка, и я не могу ее понять. Я настроил текст редактирования и изменил цвет курсора на белый (по умолчанию темно-синий). Это сработало нормально, однако как только я вызываю edittext.error = «Это текст ошибки», цвет курсора меняется на черный. Для меня это не имеет никакого смысла, поскольку черный никогда нигде не определяется как какой-либо основной/акцентный или поверхностный цвет в моей теме. Кроме того, согласно Интернету, курсор должен сохранять нормальный цвет, и это нормально. Если я установлю для textCursorDrawable значение null, он останется белым (как и текст) даже в режиме ошибок, но я не могу этого сделать, потому что он также удаляет толщину курсора, но если я установлю его в статический объект рисования, это также просто меняет цвет при ошибке.
Это мой текст редактирования:
Затем модель представления проверяет, стало ли электронное письмо недействительным, и если да, то вызывает
binding.inputEmailWrapper.error = getString(R.string.email_invalid) Мои стили:
@color/edit_text_border_selector @color/white @color/edit_text_border_selector @color/edit_text_border_selector 0dp wrap_content @dimen/margin_top @style/EditTextTheme @color/edit_text_content_color @drawable/edit_text_cursor @color/red @color/white @color/white @color/orange И рисуемый курсор (до его добавления тоже возникала проблема):
Примечание. Ни один из названных селекторов цвета нигде не использует черный цвет в качестве значения. Я проверил значение цвета курсора на скриншоте: он действительно черный.
Моя тема приложения:
@color/darkblue @color/darkblue @color/orange @color/red @color/orange @color/white @style/Theme.WtfPreference @color/darkerblue @style/SnackbarStyle @style/TimepickerStyle Текст редактирования в состоянии ошибки с помощью курсора:

При выборе в состоянии ошибки:

И в обычном состоянии:

Как видите, чернота влияет только на сам курсор, а не на выделение вокруг него.
Я ничего не вижу об этом в Интернете. Я думал, он просто должен был сохранить нормальный цвет?
РЕДАКТИРОВАТЬ №1: Даже если я удалю как MaterialThemeOverlay, так и textCursorDrawable, проблема все равно появится при ошибке.
РЕДАКТИРОВАТЬ №2: Ошибка возникает только с обведенными рамками. Когда я использую следующий стиль, в случае ошибки курсор остается в активированном цвете (оранжевом):
@color/orange @style/HintTextAppearance 0dp wrap_content @dimen/margin_top @color/orange