Tenho o modo de exibição em que existem duas caixas de texto, e o usuário pode selecionar a cor do texto de outra visão na mesma tela (por meio da caixa de diálogo).
Portanto, quando o usuário muda de cor por meio da caixa de diálogo, estou mudando a cor do EditText
texto e sua dica. Mas quando há algum texto disponível EditText
depois que o usuário seleciona outra cor, então esse texto vem nessa cor. Mas se eu remover todo esse texto, a cor de HintText será a da cor anterior.
Por exemplo, atualmente, se eu tiver a cor vermelha na caixa de texto e o usuário selecionar a cor verde, o texto aparecerá na cor verde. Mas se eu remover esse texto, o texto da dica ficará vermelho, mesmo se eu alterar a cor da dica no código. Esse problema só surge quando há algum texto ali. se estiver em branco e houver texto de dica, o problema não está ocorrendo.
fonte
Respostas:
Use isso para alterar a cor da dica. -
Solução para o seu problema -
fonte
Basta adicionar isso em seu
layout
paraEditText
:fonte
Cores padrão:
Para código de cores:
fonte
Arquivo Xml do Layout Interno Podemos Mudar a Cor da Dica .....
você pode substituir * por cor ou código de cores.
fonte
Parece que EditText aplica hintTextColor apenas se o texto estiver vazio. Uma solução simples será assim
Se você tiver vários campos, pode estender o EditText e escrever um método que execute essa lógica e usar esse método em seu lugar.
fonte
Programaticamente em Java - pelo menos API v14 +
exampleEditText.setHintTextColor(getResources().getColor(R.color.your_color));
fonte
setHintTextColor(color)
não funciona caso haja algum texto, MESMO se estiver""
.É como a cor de dica padrão, funcionou para mim:
editText.setHintTextColor(Color.GRAY);
fonte
Você pode ligar
editText.invalidate()
depois de redefinir a cor da dica. Isso pode resolver seu problema. Na verdade, o SDK atualiza a cor da mesma maneira.fonte