Estou usando a biblioteca de design do Android TextinputLayout
. Mas não foi possível personalizar a cor da dica, a cor do rótulo e a cor do sublinhado de EditText
dentro TextinputLayout
. Por favor ajude.
android
android-design-library
android-textinputlayout
Nitesh Verma
fonte
fonte
Respostas:
Alterar a cor da linha inferior:
Para mais informações, verifique este tópico .
Alterar a cor da dica quando ela estiver flutuando
e use-o assim:
Altere a cor da dica quando não for um rótulo flutuante:
Obrigado a @AlbAtNf
fonte
android:textColorHint
comoTextInputLayout
em XML.Com base nas respostas de Fedor Kazakov e outros, criei uma configuração padrão.
styles.xml
activity_layout.xml
Focado:
Sem foco:
Mensagem de erro:
fonte
Com a Biblioteca de Componentes de Materiais, você pode usar o
com.google.android.material.textfield.TextInputLayout
.Você pode aplicar um estilo personalizado para alterar as cores.
Para alterar a cor da dica, você deve usar estes atributos:
hintTextColor
eandroid:textColorHint
.Você deve usar um seletor para o
android:textColorHint
. Algo como:Para alterar a cor da linha de fundo você tem que usar o atributo:
boxStrokeColor
.Também neste caso você deve usar um seletor. Algo como:
Você também pode aplicar estes atributos em seu layout:
fonte
boxStrokeColor
. No exemplo,selector_stroke_color
em particular a última linha:<item android:alpha="0.38" android:color="?attr/colorOnSurface"/>
Adicione este atributo na tag Edittext e aproveite:
fonte
Esta postagem do blog descreve vários aspectos de estilo
EditText
eAutoCompleteTextView
abrangidos porTextInputLayout
.Para
EditText
e AppCompat lib 22.1.0+, você pode definir o atributo do tema com algumas configurações relacionadas ao tema:e aplicá-los em
EditText
:Pois as
AutoCompleteTextView
coisas são mais complicadas porque envolvê-loTextInputLayout
e aplicar este tema quebra o comportamento do rótulo flutuante. Você precisa corrigir isso no código:e em
Activity.onCreate
:fonte
Se você quiser alterar a cor da barra / linha e a cor do texto de dica do
TextInputLayout
(qual é a cor de destaque normalmente), basta criar este estilo:Em seguida, aplicá-lo para o seu
TextInputLayout
como um tema :Isso basicamente define um tema (não estilo) para uma visualização (em oposição a toda a atividade).
fonte
Você pode substituir este estilo para o layout
E você também pode alterar o estilo interno do item EditText.
fonte
aplique este estilo a TextInputLayout
fonte
android:theme="@style/EditScreenTextInputLayoutStyle"
A
TextinputLayout
não é uma visão, mas aLayout
, como muito bem descrito por Dimitrios Tsigouris em sua postagem do blog aqui . Portanto, você não precisa de umStyle
, que éViews
apenas para uso, mas use umTheme
. Após a postagem no blog, acabei com a seguinte solução:Comece no seu
styles.xml
comE em seu layout, adicione
fonte