Estou usando um EditText
dentro de a TextInputLayout
, mas depois de atualizar a biblioteca de suporte para 23.2.0, recebo este aviso no logcat: Qual é a diferença entre um regular EditText
e um TextInputEditText
? Não consigo encontrar nenhuma documentação para isso.
android
android-layout
android-edittext
android-support-library
android-textinputlayout
Silvia H
fonte
fonte
Respostas:
Eu também estava me perguntando isso, Daniel Wilson reuniu a documentação, mas para o olho não treinado isso não significa muito. É aqui que se trata: "modo de extração" refere-se ao tipo de visualização que é mostrado quando o espaço é muito pequeno, por exemplo, paisagem em um telefone. Estou usando o Galaxy S4 com o teclado do Google como editor de método de entrada (IME).
Paisagem UI sem IME visível
Com base no foco (na descrição), você pode ver
TextInputLayout
em ação empurrando a dica para fora do editor. Nada de especial aqui, é isso queTextInputLayout
devemos fazer.IU em paisagem editando o campo Nome vazio
Editando o nome, você pode ver que o IME não dá uma dica do que você está editando.
Campo de descrição vazio de edição da IU em paisagem
Editando a descrição, você pode ver que o IME dá uma dica do que você está editando.
XMLs de layout
A diferença entre os dois campos é seu tipo
EditText
VSTextInputEditText
. O importante aqui é queTextInputLayout
tenha oandroid:hint
EditText e não embrulhado, este é o caso quandoTextInputEditText
poucas linhas de código Java fazem uma grande diferença.Campo de nome
Campo de descrição
fonte
android:hint
propriedade deve entrar emTextInputEditText
vez deTextInputLayout
.TextInputEditText
é um detalhe de implementação da IU.Não há documentação para isso, mas a classe é regular
EditText
com um único recurso extra:Especificamente, ele define o
EditorInfo.hintText
. Você notará naTextInputLayout
classe que pode especificar a dica e sua aparência, em vez de como parte doEditText
widget filho .Se precisar fazer isso, você deve usar um
TextInputEditText
para que preste atenção às informações da dica que você especificou noTextInputLayout
.fonte
Eles são essencialmente a mesma coisa, mas acho que
TextInputEditText
tem mais recursos e possivelmente atributos. Mudei para oTextInputEditText
e tudo funcionou e ficou como antes com o padrãoEditText
.fonte
A única diferença é que quando seu dispositivo estiver no modo paisagem,
TextInputEditText
vai mostrar a dica,EditText
não vai.fonte
Tive esse problema e acabei de excluir esta linha do meu arquivo xml:
e o erro desapareceu.
fonte