У меня возникла проблема, когда я использую Android-тему Holo в проекте для планшета. Тем не менее, у меня есть фрагмент на экране, который имеет белый фон. Я добавляю EditText
компонент к этому фрагменту. Я попытался переопределить тему, установив фон для ресурсов темы Holo.Light. Тем не менее, мой текстовый курсор (карат) остается белым и, следовательно, невидимым на экране (я могу слегка заметить его в поле edittext ..).
Кто-нибудь знает, как я могу заставить EditText использовать более темный цвет курсора? Я попытался установить стиль EditText "@android:style/Widget.Holo.Light.EditText"
без положительного результата.
target
> 3.2 в своем манифесте, вы можете использовать его, и он будет игнорироваться для более низких версийВ макете
Затем создайте drawalble xml: color_cursor
У вас есть курсор белого цвета на свойство EditText.
источник
Похоже, что все ответы идут вокруг кустов.
В вашем
EditText
, используйте свойство:и добавьте drawable
black_cursor.xml
к своим ресурсам следующим образом:Это также способ создания более разнообразных курсоров, если вам нужно.
источник
В последней
Appcompact
версии 21 появился новый способ изменить цвет курсора.Просто измените
colorAccent
стиль следующим образом:Затем примените этот стиль к теме или действиям вашего приложения.
Обновление : этот способ работает только на API 21+.Обновление 2. Я не уверен, что минимальная версия Android может работать.
Проверено версией Android:
источник
colorAccent
изменяется, например, линия внизу,EditText
но это не касается фактического цвета курсора. О, и, конечно же, больше нет "v21".Я нашел ответ :)
Я установил стиль editText темы:
Затем я использовал следующий drawable для установки курсора:
`
`
Android: textCursorDrawable является ключом здесь.
источник
android:editTextStyle
, но изменил его наeditTextStyle
исправленный. См. Stackoverflow.com/a/34010235/6744473Для тех, кому нужно
EditText
динамически устанавливать цвет курсора, ниже вы найдете два способа добиться этого.Сначала создайте курсор для рисования:
Установите идентификатор ресурса рисования курсора на созданный вами чертеж (https://github.com/android/platform_frameworks_base/blob/kitkat-release/core/java/android/widget/TextView.java#L562-564">source)) :
Чтобы просто изменить цвет отрисовываемого курсора по умолчанию, вы можете использовать следующий метод:
источник
AppCompatEditText
уже естьsetSupportBackgroundTintList
, так что не было бы довольно просто добавить что-то вродеsetSupportCursorTintList
?Поздно на вечеринку, вот мой ответ,
Это для людей, которые не хотят менять
colorAccent
родительскую тему, но хотят изменитьEditText
атрибуты!Пример:
Теперь создайте drawable (
edit_text_background
), добавьте ресурс XML для фона! Вы можете настроить его так, как хотите!Теперь, когда вы установили этот стиль в своей теме «Активность».
Пример :
В вашей деятельности у вас есть тема, установите эту пользовательскую
editText
тему для этого.источник
<item name="editTextStyle">@style/AppTheme.EditText</item> // inculude this
без эффектаandroid:editTextSteyle
, правильный attr iseditTextStyle
<item name="android:textCursorDrawable">@color/white</item>
не работаетЗатем создайте drawalble xml:
color_cursor
источник
Для меня я изменил как AppTheme, так и значение colors.xml
Вот это colors.xml
Я вынул атрибут android: textCursorDrawable для @null, который поместил в стиль editText. Когда я попытался использовать это, цвета не изменились.
источник
Ух, я очень опоздал на эту вечеринку, но у нее была активность 17 дней назад. Было бы похоже, что мы должны рассмотреть вопрос о том, какую версию Android мы используем для ответа, так что на данный момент этот ответ работает с Android 2.1 и выше. Перейти к RES / ЦЕННОСТИ / СТИЛИ и добавьте строки кода ниже, и ваш курсор будет черным
Вам понадобится эта строка кода в папке RES / COLOR
Зачем так поздно? Было бы неплохо рассмотреть какую-то форму категорий для многоголового монстра Android!
источник
Вот программная версия @CaredRummDrawableColor () @Jared Rummler, адаптированная для работы также на Android 9 Pie.
источник
java.lang.NoSuchFieldException: No field mDrawableForCursor
на Android 9.это называется
colorAccent
в Android.перейти к res -> values -> styles.xml добавить
если не существует
источник
editcolor.xml
android:textCursorDrawable="@drawable/editcolor"
В xml файле задайте код
edittext
цвета фонаисточник
Единственный правильный ответ должен состоять в том, чтобы изменить тему упражнения:
<item name="colorAccent">#000000</item>
вы не должны использоватьandroid:textCursorDrawable
to,@null
потому что это касается только курсора, но не контакта под курсором, если вы хотите перетащить этот курсор. Тематическое решение является наиболее серьезным.источник
Другое простое решение - перейти в res> values> colors.xml в папке вашего проекта и отредактировать значение цветового акцента в соответствии с тем цветом, который вы предпочитаете.
Код выше меняет ваш курсор на черный.
источник
Перейдите к styles.xml и измените цветовой акцент, и это будет влиять на курсор из поля edittext.
источник
Это даже проще, чем это.
Это работает в ICS и за ее пределами. Я не проверял это в других версиях.
источник
Вы хотите специфический цвет вы должны использовать AppCompatEditText тогда Backround набор нуль
работает для меня
Смотрите эту суть
источник
Использовать этот
источник
Обратите внимание на ваш colorAccent в вашей текущей деятельности / фрагменте / диалоге, определенный в стилях ...;) с ним связан цвет курсора.
источник
измените цвет colorAccent в styles.xm, вот и все
источник
Если использовать стиль и реализовать
заменить его значение другим, что цвет / белый.
источник
Вы можете использовать код ниже в макете
источник
После того, как я потратил много времени, пытаясь использовать всю эту технику в диалоге, у меня наконец появилась идея: присоединить тему к самому диалогу, а не к TextInputLayout.
внутри наСоздать:
открытый класс myDialog расширяет диалог {
ура :)
источник