Estou tendo esse problema em que estou usando o tema Holo do Android em um projeto de tablet. No entanto, tenho um fragmento na tela que tem um fundo branco. Estou adicionando um EditText
componente neste fragmento. Tentei substituir o tema definindo o plano de fundo dos recursos do tema Holo.Light. No entanto, meu cursor de texto (quilate) permanece branco e, portanto, invisível na tela (posso identificá-lo levemente no campo edittext ..).
Alguém sabe como posso obter EditText para usar uma cor mais escura do cursor? Eu tentei definir o estilo do EditText para "@android:style/Widget.Holo.Light.EditText"
sem resultado positivo.
target
> 3.2 em seu manifesto, você pode usá-lo e ele será ignorado para versões mais baixosNo layout
Em seguida, crie xml drawalble: color_cursor
Você tem um cursor de cor branca na propriedade EditText.
fonte
Parece que todas as respostas vão ao redor dos arbustos.
No seu
EditText
, use a propriedade:e adicione o drawable
black_cursor.xml
aos seus recursos, da seguinte maneira:Essa também é a maneira de criar cursores mais diversos, se você precisar.
fonte
Há uma nova maneira de alterar a cor do cursor na
Appcompact
v21 mais recente .Basta mudar
colorAccent
de estilo assim:Em seguida, aplique esse estilo no tema ou nas atividades do seu aplicativo.
Atualização : dessa forma, funciona apenas na API 21+.Atualização 2 : Não tenho certeza da versão mínima do Android que pode funcionar.
Testado pela versão android:
fonte
colorAccent
muda, por exemplo, a linha na parte inferior de um,EditText
mas não toca na cor real do cursor. Ah, e não há mais "v21", é claro.Eu encontrei a resposta :)
Eu configurei o estilo editText do tema para:
Depois, usei o seguinte desenho para definir o cursor:
`
`
android: textCursorDrawable é a chave aqui.
fonte
android:editTextStyle
, mas alterá-lo paraeditTextStyle
corrigi-lo. Veja stackoverflow.com/a/34010235/6744473Para qualquer pessoa que precise definir a
EditText
cor do cursor dinamicamente, abaixo, você encontrará duas maneiras de conseguir isso.Primeiro, crie seu cursor desenhável:
Defina o ID do recurso de desenho do cursor como o desenho que você criou (https://github.com/android/platform_frameworks_base/blob/kitkat-release/core/java/android/widget/TextView.java#L562-564">source) :
Para alterar apenas a cor do cursor padrão que você pode desenhar, você pode usar o seguinte método:
fonte
AppCompatEditText
já temsetSupportBackgroundTintList
, então não seria bastante simples adicionar algo parecidosetSupportCursorTintList
?Tarde da festa, aqui está a minha resposta,
Isto é para as pessoas que não desejam alterar o
colorAccent
tema principal, mas desejam alterarEditText
atributos!Exemplo:
Agora crie um drawable (
edit_text_background
) e adicione um xml de recurso para o plano de fundo! Você pode personalizar como quiser!Agora, como você definiu esse estilo no seu tema Atividade.
Exemplo:
Na sua Atividade, você tem um tema, defina esse
editText
tema personalizado para isso.fonte
<item name="editTextStyle">@style/AppTheme.EditText</item> // inculude this
Não há efeitoandroid:editTextSteyle
, attr direita éeditTextStyle
<item name="android:textCursorDrawable">@color/white</item>
não funcionaEm seguida, crie xml drawalble:
color_cursor
fonte
Para mim, modifiquei o AppTheme e um valor colors.xml
Aqui está o colors.xml
Tirei o atributo android: textCursorDrawable para @ null que coloquei dentro do estilo editText. Quando tentei usar isso, as cores não mudaram.
fonte
Uau, estou muito atrasado para esta festa, mas ela teve atividade há 17 dias. É necessário considerar a publicação da versão do Android que estamos usando para obter uma resposta. Agora, essa resposta funciona com o Android 2.1 e superior. Vá para RES / VALORES / ESTILOS e adicione as linhas de código abaixo e seu cursor ficará preto
Você precisará desta linha de código na sua pasta RES / COLOR
Por que postar tão tarde? Pode ser bom considerar alguma forma de categorias para o monstro de muitas cabeças que o Android se tornou!
fonte
Aqui a versão programática do setCursorDrawableColor () de @Jared Rummler adaptada para funcionar também no Android 9 Pie.
fonte
java.lang.NoSuchFieldException: No field mDrawableForCursor
no Android 9.isso é chamado
colorAccent
no Android.vá para res -> valores -> styles.xml add
se não existir.
fonte
editcolor.xml
android:textCursorDrawable="@drawable/editcolor"
No arquivo xml, defina o código de
edittext
cores da cor de fundofonte
A única resposta válida deve ser alterar o tema da atividade:
<item name="colorAccent">#000000</item>
você não deve usar oandroid:textCursorDrawable
para@null
porque isso diz respeito apenas ao cursor em si, mas não ao alfinete abaixo do cursor, se você deseja arrastá-lo. A solução temática é a mais séria.fonte
Outra solução simples seria ir para res> values> colors.xml na pasta do projeto e editar o valor do acento da cor na cor que você preferir
O código acima altera o cursor para preto.
fonte
Vá para styles.xml e altere o acento da cor e isso influenciará o cursor na caixa edittext
fonte
É ainda mais fácil que isso.
Isso funciona no ICS e além. Eu não testei em outras versões.
fonte
Se você deseja uma cor específica, deve usar AppCompatEditText e depois definir nulo
funciona para mim
Veja esta essência
fonte
Usa isto
fonte
Preste atenção ao seu colorAccent na sua Atividade / fragmento / caixa de diálogo atual, definida em Estilos ...;) a cor do cursor está relacionada a ela.
fonte
mude a cor de colorAccent em styles.xm, é simples
fonte
Se estiver usando estilo e implementação
substitua seu valor diferente de cor / branco.
fonte
você pode usar o código abaixo no layout
fonte
Depois de muito tempo tentando todas essas técnicas em um Diálogo, finalmente tive uma idéia: anexar o tema ao próprio Diálogo e não ao TextInputLayout.
inside onCreate:
public class myDialog estende a caixa de diálogo {
Felicidades :)
fonte