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
https://helpdev.com.br/zarelli

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

9 pensou em “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

    1. Primeiramente desculpe pela demora. É simples essa solução veja:

      Basta inserir esta tag no cabecalho de seu XML:
      android:focusable=”true” android:focusableInTouchMode=”true”

      ==============

      android:focusable=”true” android:focusableInTouchMode=”true”
      >

      ==============

  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 para Guilherme Biff Zarelli Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Rolar para o topo