Estou criando um EditText no meu arquivo xml de layout
Mas quero alterar a linha de cores no EditText de Holo para (por exemplo) vermelho. Como isso pode ser feito?
Esta é a melhor ferramenta que você pode usar para todas as visualizações e é muito GRATUITA graças ao @ Jérôme Van Der Linden .
O Android Holo Colors Generator permite que você crie facilmente componentes do Android, como o EditText
spinner, com suas próprias cores para o seu aplicativo Android. Ele gerará todos os nove ativos de patch necessários, além de estilos e desenhos XML associados, que você poderá copiar diretamente no seu projeto.
ATUALIZAÇÃO 1
Este domínio parece expirado, mas o projeto é um código aberto que você pode encontrar aqui
tente
esta imagem colocada no fundo de EditText
android:background="@drawable/textfield_activated"
ATUALIZAÇÃO 2
Para a API 21 ou superior, você pode usar android:backgroundTint
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Underline color change"
android:backgroundTint="@android:color/holo_red_light" />
Atualização 3
agora temos suporte traseiroAppCompatEditText
Nota: Precisamos usar app: backgroundTint em vez de android: backgroundTint
<android.support.v7.widget.AppCompatEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Underline color change"
app:backgroundTint="@color/blue_gray_light" />
Não gosto de respostas anteriores. A melhor solução é usar:
android:backgroundTint
paraEditText
funciona apenas no API21 + . Por causa disso, temos que usar a biblioteca de suporte eAppCompatEditText
.Nota: temos que usar em
app:backgroundTint
vez deandroid:backgroundTint
Versão AndroidX
fonte
Você também pode alterar rapidamente a cor do sublinhado do EditText pintando o fundo do EditText da seguinte maneira:
fonte
para API abaixo de 21, você pode usar o atributo theme em
EditText
colocar código abaixo no arquivo de estilouse esse estilo
EditText
comofonte
Programaticamente, você pode tentar:
fonte
Eu acho que a melhor maneira é por tema:
fonte
Para alterar a cor do sublinhado do Edittext:
Se você deseja que o aplicativo inteiro compartilhe esse estilo, faça o seguinte.
(1) vá para o arquivo styles.xml. Seu AppTheme que herda o pai de Theme.AppCompat.Light.DarkActionBar (no meu caso) será o pai base de todos os arquivos de estilo em seu aplicativo. Mude o nome dele para “AppBaseTheme '. Crie outro estilo logo abaixo dele, que tenha o nome de AppTheme e herda do AppBaseTheme que você acabou de editar. Será parecido com o seguinte:
Em seguida, altere o "colorAccent" para a cor que você deseja que a cor da linha EditText seja.
(2) Se você tiver outras pastas de valores com style.xml, esta etapa é muito importante. Porque esse arquivo será herdado do arquivo xml pai anterior. Por exemplo, eu tenho valores-19 / styles.xml. Isto é especificamente para Kitkat e acima. Altere seu pai para AppBaseTheme e certifique-se de se livrar de "colorAccent" para que ele não substitua a cor do pai. Além disso, você precisa manter os itens específicos da versão 19. Em seguida, ela ficará assim.
fonte
É bem simples (obrigatório: API mínima 21) ...
Mantenha a codificação ........ :)
fonte
A cor da linha é definida pela
EditText
propriedade de plano de fundo da. Para alterá-lo, você deve alterar oandroid:background
arquivo de layout.Devo observar que esse estilo é alcançado usando um drawable de 9 patches. Se você olhar no SDK, poderá ver que o fundo da
EditText
imagem é esta:Para alterá-lo, você pode abri-lo em um programa de manipulação de imagens e colorir na cor desejada. Salve-o como
bg_edit_text.9.png
e, em seguida, coloque-o na sua pasta de desenho. Agora você pode aplicá-lo como pano de fundo para o seguinteEditText
:fonte
Você pode alterar a cor do EditText programaticamente usando esta linha de código:
edittext.setBackgroundTintList(ColorStateList.valueOf(yourcolor));
fonte
O plano de fundo dos widgets depende do nível da API .
ALTERNATIVA 1
Você pode fornecer uma imagem personalizada para o seu
EditText
plano de fundoSua imagem deve ficar assim. Isso lhe dará o efeito desejado.
ALTERNATIVA 2
Defina esse xml como seu
EditText
atributo de plano de fundo.Isso terá a mesma aparência
EditText
em todas as APIs.fonte
Você pode alterar a cor pintando o fundo
<EditText android:backgroundTint="@color/red"/>
fonte
drawable / bg_edittext.xml
Defina como EditText
fonte
Use este método .. e modifique-o de acordo com seus nomes de exibição. Esse código funciona muito bem.
fonte
Se você deseja uma linha plana, pode fazer isso facilmente com o xml. Aqui está o exemplo xml:
Substitua a forma por um seletor se desejar fornecer largura e cor diferentes para o edittext focado.
fonte
A melhor abordagem é usar um atributo
AppCompatEditText
withbackgroundTint
doapp
espaço para nome. iequando o usamos
android:backgroundTint
, funciona apenas na API21 ou mais, masapp:backgroundTint
funciona em todos os níveis da API que seu aplicativo faz.fonte
Use a propriedade android: background para esse edittext. Passe a imagem da pasta que você pode desenhar. Por exemplo,
fonte
** é uma das coisas com vista **
fonte
Tente da seguinte maneira: ele converterá a cor da linha inferior do EditText, quando usada como uma propriedade de plano de fundo.
fonte
Isso pode ser feito simplesmente incluindo-o
android:theme="@style/AppTheme.AppBarOverlay
como atributo no seu editText e adicione-o<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
aos seus estilosfonte