Estou usando o novo TextInputLayout
da biblioteca de design. Eu consigo mostrar e alterar a cor da etiqueta flutuante. Infelizmente, a EditText
dica real agora é sempre branca.
Tentei alterar o hintColor em XML, estilos e programaticamente e também tentei usar o android.support.v7.widget.AppCompatEditText
mas a EditText
dica sempre mostra branco.
Aqui está o meu XML para o meu TextInputLayout
eEditText
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android.support.design:hintTextAppearance="@style/GreenTextInputLayout">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/city"
android:textColorHint="@color/black"
android:hint="@string/city" />
</android.support.design.widget.TextInputLayout>
E aqui está o estilo que estou usando para TextInputLayout
(tentei tornar o hintTextColor
atributo preto, mas não fiz nada por mim):
<style name="GreenTextInputLayout" parent="@style/TextAppearance.AppCompat">
<item name="android:textColor">@color/homestory_green</item>
</style>
android
android-edittext
android-support-library
android-design-library
android-textattributes
SamIAmHarris
fonte
fonte
Respostas:
Defina
android:textColorHint
no seu tema do aplicativo:Fonte
fonte
EditText
para que a cor da dica seja definida em todas as entradas da visualização ... ainda não encontrei nenhuma correção para isso (requestFocus()
eperformClick()
infelizmente não faça o truque).Crie um estilo personalizado em style.xml
Em seguida, no seu arquivo xml de layout, adicione o atributo theme como abaixo
espero que isso funcione
fonte
Adicione a propriedade textColorHint ao seu texto de edição
ou a cor que você quiser
fonte
tenho o mesmo problema. Resolvido colocando essas linhas no tema pai .
Se você colocar estes
em um estilo separado e aplicá-lo a TextInputLayout ou Edittext, ele não aparecerá. Você TER para colocá-lo no tema pai do aplicativo.
fonte
Não sei ao certo o que causa o problema, coloque este código perfeitamente para mim. Eu acho que tem algo a ver com o uso correto do namespace xml (
xmlns
). Não sei se é possível usar o android.support.design sem o atributo de espaço para nome xml. Ou tem algo a ver com otextColorHint
atributo que você está usando no próprio EditText.Layout:
Estilo:
fonte
@style/TextAppearance.Design.Hint
, então você pode querer usar isso como a suaparent
vez de@android:style/TextAppearance
ou@style/TextAppearance.AppCompat
Consulte o código abaixo que funcionou para mim. Mas isso afetará todas as cores de seus controles.
fonte
No TextInputLayout que contém o EditText, adicione:
fonte
Muitas respostas, mas precisam apenas de uma linha para isso:
android: textColorHint = "# 000000"
fonte
android: textColorHint = "# FFFFFF" algumas vezes funciona e outras não. Para mim, a solução abaixo funciona perfeitamente
Experimente o código abaixo Funciona No seu arquivo XML e o tema TextLabel é definido em style.xml
Na pasta Estilos, código TextLabel
Se você apenas deseja alterar a cor do rótulo em estado falso, colorAccent, colorControlNormal e colorControlActivated não são necessários
fonte
Você pode usar por
android:textColorHint="@color/color_black"
dentroTextInputlayout
Funcionou para mim.fonte
De acordo com isso: https://code.google.com/p/android/issues/detail?id=176559
Tente o seguinte:
Funciona em 23.1.1
fonte
Com a biblioteca Material Components, você pode personalizar a
TextInputLayout
cor do texto da dica usando:No layout:
app:hintTextColor
atributo: a cor do rótulo quando ele é recolhido e o campo de texto está ativoandroid:textColorHint
atributo: a cor do rótulo em todos os outros estados do campo de texto (como em repouso e desativado)Algo como:
fonte
Parece que a exibição pai tinha um estilo para uma biblioteca de terceiros que estava causando o EditText em branco.
Depois que eu removi isso tudo funcionou bem.
fonte
tente isso pode ajudar
fonte
tarde, mas pode ajudar alguém que fiz assim
fonte
mude sua colorAccent para a cor desejada dentro do seu Tema, isso mudará sua linha EditText, Cursor e sua dica
ou você também pode incluir esse estilo em seu style.xml
então dentro do TextInputLayout você pode colocar assim
fonte
Use textColorHint para definir a cor que você deseja como a cor Dica para o EditText. O problema é que a dica no EditText desaparece não quando você digita alguma coisa, mas imediatamente quando o EditText fica em foco (com uma animação interessante). Você notará isso claramente quando mudar o foco para o EditText.
fonte
A partir da documentação:
Tente configurar
android:hint
e ativarapp:hintTextColor
emTextInputLayout
vez de ativarTextInputEditText
.fonte
Você deve definir a cor da dica no TextInputLayout.
fonte
fonte
Experimente o código abaixo:
A cor clara é branca:
estilo: TextStyle
fonte
Aqui está minha experiência com esse problema semelhante e a solução necessária.
Requerimento:
TextInputEditText
(pode-se dizer que algumas devem ser transparentes e outras não, mas use cores personalizadas para vários eventos)Problema enfrentado:
android:textColorHint
não está funcionando conforme necessário.Soluções tentadas, que falharam:
android:textColorHint
com estilo e aplicadoTextInputEditText
. Nenhum resultado ou diferença.android:textColorHint
o tema do aplicativo aplicado. Ajudou, mas agora estava definido para todo o aplicativo. (Não cumpre os requisitos)Depois de muito RnD, a melhor SOLUÇÃO encontrada foi em um artigo que descreveu que precisamos aplicar o tema à
TextInputLayout
vista principal ou à vista principal, em vez de aplicar estilo àTextInputEditText
vista principal ou à vista principal.Por favor, verifique o TextInputLayout adequado Theming, que disse que estamos no caminho errado.
fonte
Quando tentei definir o atributo do tema para TextInputLayout, o tema também estava sendo aplicado ao seu edittext filho, que eu não queria.
Portanto, a solução que funcionou para mim foi adicionar um estilo personalizado à propriedade "app: hintTextAppearance" do TextInputLayout.
No styles.xml, adicione o seguinte estilo:
E aplique esse estilo à propriedade "app: hintTextAppearance" do TextInputLayout como abaixo:
fonte
Se você estiver usando a nova biblioteca de design de materiais androidx
com.google.android.material
, poderá usar o colorstatelist para controlar a cor do texto da dica nos estados focalizado, suspenso e padrão da seguinte maneira. (inspirado por isso )Em
res/color/text_input_box_stroke.xml
colocar algo como o seguinte:Então no seu
styles.xml
você colocaria:Por fim, indique seu estilo no real.
TextInputLayout
Por algum motivo, você também precisa definirandroid:textColorHint
a cor do texto padrão da dica:fonte
se você estiver usando a biblioteca de design de materiais. Atualmente, estou usando a versão
1 - Defina a cor quando o TextInputLayout estiver em repouso.
2 - Defina a cor quando o TextInputLayout estiver flutuando / focado / tocado.
3 - Defina a cor da linha em TextInputLayout.
4 - Defina a cor do erro em TextInputLayout.
fonte