Android – Mudar a cor do cursor do EditText (change EditText cursor color)

change edittext cursor color

Para alterarmos a cor do cursor do EditText no android devemos primeiro criar o novo cursor com a cor desejada (podemos dar forma para esse cursor se desejar). Devemos criar um ‘shape’ e atribulo ao atributo android:textCursorDrawable do EditText, esse atributo está disponibilizado des da api 13+.

Vejamos como criar:

1 – Crie um arquivo cursor.xml na pasta drawable:

<?xml version="1.0" encoding="utf-8" ?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android">
  <size android:height="6dp" android:width="2dp" /> 
  <solid android:color="@color/verde" /> 
</shape>

2 – Podemos definir somente em um EditText se definirmos o atributo android:textCursorDrawable apontando para o arquivo criado acima da seguinte maneira:

<EditText 
    android:id="@+id/frag_find_edit" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:singleLine="true"
    android:textCursorDrawable="@drawable/cursor">
  <requestFocus /> 

</EditText>

3 – Podemos também defini-lo em nosso arquivo de estilo para atribuir a todos os EditText:

<style name="AppTheme" parent="@style/Theme.Light.DarkActionBar">
  <item name="android:editTextStyle">@style/estilo_edit_apparence</item> 
</style>

<style name="estilo_edit_apparence" parent="@android:style/Widget.EditText">
  <item name="android:textCursorDrawable">@drawable/cursor</item> 
</style>

Help DEV – Analista desenvolvedor Java / Android

http://helpdev.com.br/zarelli

9 thoughts on “Android – Mudar a cor do cursor do EditText (change EditText cursor color)

  1. Guilherme uma dúvida, como faço para o Edittext não receber automaticamente o foco assim que a activity é criada na tela?

    Ou seja, só quero que o edittext tenha o foco quando eu clicar nele.

    obrigado

  2. Guilherme, estou na busca de aprender nesta área de mobile android. Cheguei até aqui no seu site. Parabéns, muito bom mesmo.
    Estou querendo implementar esta parte “mudar a cor do cursor do EditText”. A dúvida é que não encontro a pasta “drawable” no meu android versão 4.4.2

  3. Guilherme, estou na busca de aprender nesta área de mobile android. Cheguei até aqui no seu site. Parabéns, muito bom mesmo.
    Estou querendo implementar esta parte “mudar a cor do cursor do EditText”. A dúvida é que não encontro a pasta “drawable” no meu android versão 4.4.2

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>