Também encontrei isso durante minha pesquisa, mas queria saber se o Android fornece um método nativo.
xsorifc28 de
1
Isso nos faz pensar que algo está errado com o Android. Existem várias lacunas ausentes na API para design de materiais. Outro exemplo é o botão Float Action.
motobói
Respostas:
3
Você precisa adicionar o seguinte ao arquivo do módulo build.gradle:
Nossa, obrigado! Vou dar uma olhada neles e dizer a você como foi!
AdamMc331
2
O terceiro era o que eu procurava. Me deparei com TextInputLayout, mas não consegui encontrar um bom exemplo (provavelmente pesquisando todos os termos errados). Obrigado!
AdamMc331
18
A biblioteca de suporte do Android pode ser importada dentro do gradle nas dependências:
compile 'com.android.support:design:22.2.0'
Deve ser incluído no GradlePlease! E como exemplo de uso:
Recebo o erro: (1) "Atributo" cor "já foi definido" na sincronização do gradle, provavelmente por causa do appcompat-v7. Eu não consigo me livrar disso. Alguma sugestão?
mdzeko
MaterialEditText não definiu um atributo chamado "color", então deve haver algo errado em outro lugar.
rengwuxian de
9
Importe as bibliotecas de suporte, no arquivo build.gradle do seu projeto, adicione as seguintes linhas nas dependências do projeto:
Então, chame setHint em TextInputLayout logo após a chamada setContentView porque, para animar o rótulo flutuante, você só precisa definir uma dica, usando o método setHint.
https://github.com/thebnich/FloatingHintEditText funciona com appcompat-v7 v21.0.0, mas como a v21.0.0 não oferece suporte a cores de destaque com subclasses de EditText, o sublinhado de FloatingHintEditTextserá o preto ou branco sólido padrão. Além disso, o preenchimento não é otimizado para o estilo de Material EditText, portanto, pode ser necessário ajustá-lo.
Obrigado. Suponho que o Google também não forneceu uma api para a criação de avisos de edição de texto no estilo material, como em google.com/design/spec/components/ ... Desculpe pelas perguntas amadoras, estou tentando me adaptar ao máximo ao material design assim como posso usar API / bibliotecas do Google e tentar descobrir tudo o que foi fornecido em comparação com qualquer biblioteca externa. Obrigado novamente!
Para uma maneira mais fácil de usar o InputTextLayout, criei esta biblioteca que reduz seu código XML para menos da metade e também oferece a capacidade de definir uma mensagem de erro, bem como uma mensagem de dica e uma maneira fácil de fazer seu validações.
https://github.com/TeleClinic/SmartEditText
<com.teleclinic.kabdo.smartmaterialedittext.CustomViews.SmartEditTextandroid:id="@+id/emailSmartEditText"android:layout_width="match_parent"android:layout_height="wrap_content"app:setLabel="Email"app:setMandatoryErrorMsg="Mandatory field"app:setRegexErrorMsg="Wrong email format"app:setRegexType="EMAIL_VALIDATION"/><com.teleclinic.kabdo.smartmaterialedittext.CustomViews.SmartEditTextandroid:id="@+id/passwordSmartEditText"android:layout_width="match_parent"android:layout_height="wrap_content"app:setLabel="Password"app:setMandatoryErrorMsg="Mandatory field"app:setPasswordField="true"app:setRegexErrorMsg="Weak password"app:setRegexType="MEDIUM_PASSWORD_VALIDATION"/><com.teleclinic.kabdo.smartmaterialedittext.CustomViews.SmartEditTextandroid:id="@+id/ageSmartEditText"android:layout_width="match_parent"android:layout_height="wrap_content"app:setLabel="Age"app:setMandatory="false"app:setRegexErrorMsg="Is that really your age :D?"app:setRegexString=".*\\d.*"/>
Respostas:
Você precisa adicionar o seguinte ao arquivo do módulo build.gradle:
E use com.google.android.material.textfield.TextInputLayout em seu XML:
fonte
Dica flutuante EditText:
Adicione a dependência abaixo no gradle:
No layout:
fonte
22.2.0
implementation 'com.google.android.material:material:1.0.0-rc01'
.Sim, a partir de 29 de maio de 2015, essa funcionalidade agora é fornecida na Android Design Support Library
Esta biblioteca inclui suporte para
fonte
A biblioteca de suporte do Android pode ser importada dentro do gradle nas dependências:
Deve ser incluído no GradlePlease! E como exemplo de uso:
A propósito, o editor pode não entender que AutoCompleteTextView é permitido em TextInputLayout.
fonte
O Android não forneceu um método nativo. Nem o AppCompat.
Experimente esta biblioteca: https://github.com/rengwuxian/MaterialEditText
Isso pode ser o que você deseja.
fonte
Importe as bibliotecas de suporte, no arquivo build.gradle do seu projeto, adicione as seguintes linhas nas dependências do projeto:
Use o seguinte TextInputLayout em seu layout de IU:
Então, chame setHint em TextInputLayout logo após a chamada setContentView porque, para animar o rótulo flutuante, você só precisa definir uma dica, usando o método setHint.
fonte
setHint()
. Funciona com a dica definida noEditText
xml do layout.A sugestão de @andruboy de https://gist.github.com/chrisbanes/11247418 é provavelmente sua melhor aposta.
https://github.com/thebnich/FloatingHintEditText funciona com appcompat-v7 v21.0.0, mas como a v21.0.0 não oferece suporte a cores de destaque com subclasses de
EditText
, o sublinhado deFloatingHintEditText
será o preto ou branco sólido padrão. Além disso, o preenchimento não é otimizado para o estilo de MaterialEditText
, portanto, pode ser necessário ajustá-lo.fonte
Não, não faz. Eu esperaria isso em uma versão futura da API, mas por enquanto estamos presos ao EditText. Outra opção é esta biblioteca:
https://github.com/marvinlabs/android-floatinglabel-widgets
fonte
Para uma maneira mais fácil de usar o InputTextLayout, criei esta biblioteca que reduz seu código XML para menos da metade e também oferece a capacidade de definir uma mensagem de erro, bem como uma mensagem de dica e uma maneira fácil de fazer seu validações. https://github.com/TeleClinic/SmartEditText
Basta adicionar
Então você pode fazer algo assim:
fonte
Tente assim
para mais referências clique aqui
fonte
Use o
TextInputLayout
fornecido pela Biblioteca de Componentes de Materiais :fonte