Установить цвет курсора EditText - PullRequest
473 голосов
/ 30 августа 2011

У меня возникла эта проблема, когда я использую тему Android Holo в проекте для планшета.Тем не менее, у меня есть фрагмент на экране, который имеет белый фон.Я добавляю EditText компонент к этому фрагменту.Я попытался переопределить тему, установив фон для ресурсов темы Holo.Light.Тем не менее, мой текстовый курсор (в каратах) остается белым и, следовательно, невидимым на экране (я могу слегка заметить его в поле edittext ..).

Кто-нибудь знает, как я могу заставить EditText использовать более темный цвет курсора?Я попытался установить стиль EditText на "@android:style/Widget.Holo.Light.EditText" без положительного результата.

Ответы [ 19 ]

4 голосов
/ 27 августа 2017

Ух, я очень опоздал на эту вечеринку, но она была активна 17 дней назад Было бы неплохо рассмотреть вопрос о публикации версии Android, которую мы используем для ответа, так что на данный момент этот ответ работает с Android 2.1 и выше. Перейдите к RES / VALUES / STYLES и добавьте строки кода ниже, и ваш курсор будет черным

    <style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
    <!--<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">-->
    <!-- Customize your theme here. -->
    <item name="colorControlActivated">@color/color_Black</item>
    <!--Sets COLOR for the Cursor in EditText  -->
</style>

Вам понадобится эта строка кода в папке RES / COLOR

<color name="color_Black">#000000</color>

Зачем писать так поздно? Было бы неплохо рассмотреть какую-то форму категорий для многоголового монстра Android!

3 голосов
/ 28 апреля 2017

editcolor.xml

android:textCursorDrawable="@drawable/editcolor"

В xml-файле задайте цветовой код edittext цвет фона

2 голосов
/ 31 января 2019

Другим простым решением было бы перейти к res> values> colors.xml в папке вашего проекта и отредактировать значение цветового акцента в соответствии с предпочитаемым вами цветом

<color name="colorAccent">#000000</color>

Приведенный выше код меняет курсорк черному.

2 голосов
/ 16 октября 2017

Единственным правильным ответом должно быть изменение темы занятия: <item name="colorAccent">#000000</item> Вы не должны использовать от android:textCursorDrawable до @null, потому что это касается только самого курсора, но не контакта под курсором, если вы хотите перетащить этот курсор. Тематическое решение является наиболее серьезным.

1 голос
/ 19 декабря 2018

если вы хотите определенный цвет, вы должны использовать AppCompatEditText , затем установить фон null

у меня работает

<android.support.v7.widget.AppCompatEditText
    android:background="@null"
    android:textCursorDrawable="@color/cursorColor"/>

См. суть

1 голос
/ 09 августа 2017

используйте это

android: textCursorDrawable = "@ color / white"

1 голос
/ 12 июня 2013

Это даже проще, чем это.

<style name="MyTextStyle">
    <item name="android:textCursorDrawable">#000000</item>
</style>

Это работает в ICS и за ее пределами. Я не проверял это в других версиях.

0 голосов
/ 10 июля 2019

это называется colorAccent в Android.

перейти в res -> values ​​-> styles.xml добавить

<item name="colorAccent">#FFFFFF</item>

, если не существует.

0 голосов
/ 25 августа 2016

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">#36f0ff</item>
    <item name="colorPrimaryDark">#007781</item>
    <item name="colorAccent">#000</item>
</style>

<style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

изменить цвет colorAccent в styles.xm, это просто

...