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>
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
Primeiramente desculpe pela demora. É simples essa solução veja:
Basta inserir esta tag no cabecalho de seu XML:
android:focusable=”true” android:focusableInTouchMode=”true”
==============
>
Cara parabéns, seu site é muito bom.
Nunca deixe de postar novidades, pois com certeza tem ajudado muita gente.
Valeu Wesley
https://helpdev.com.br/2014/08/01/android-remover-o-auto-foco-do-edittext-stop-edittext-from-gaining-focus-at-activity-startup/
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
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
Bom dia Nilton, basta acessar o diretório do seu projeto e criar a pasta drawable dentro da ‘res’. Qualquer duvida entre em contato;
Além de mudar o cursor, quero mudar a linha do EditText. Como faço isso?
Grato!