Me encontré con esto también durante mi búsqueda, pero me preguntaba si Android proporcionaba un método nativo.
xsorifc28
1
Esto nos hace pensar que algo anda mal con Android. Hay varias lagunas faltantes en la API para Material Design. Otro ejemplo es el botón de acción flotante.
motobói
Respuestas:
3
Necesita agregar lo siguiente al archivo build.gradle de su módulo:
¡Wow gracias! ¡Revisaré estos y les haré saber cómo va!
AdamMc331
2
El tercero era lo que estaba buscando. Me topé con TextInputLayout, pero no pude encontrar un buen ejemplo (probablemente buscando todos los términos incorrectos). ¡Gracias!
AdamMc331
18
La biblioteca de soporte de Android se puede importar dentro de gradle en las dependencias:
compile 'com.android.support:design:22.2.0'
¡Debería incluirse en GradlePlease! Y como ejemplo para usarlo:
Recibo un error: (1) "El atributo" color "ya se ha definido" en la sincronización de Gradle, probablemente debido a la aplicación appcompat-v7. No puedo deshacerme de eso. ¿Alguna sugerencia?
mdzeko
MaterialEditText no ha definido un atributo llamado "color", por lo que debe haber algo mal en otro lugar.
rengwuxian
9
Importe las bibliotecas de soporte. En el archivo build.gradle de su proyecto, agregue las siguientes líneas en las dependencias del proyecto:
Entonces, llame a setHint en TextInputLayout justo después de la llamada a setContentView porque, para animar la etiqueta flotante, solo necesita establecer una pista, usando el método setHint.
https://github.com/thebnich/FloatingHintEditText funciona con appcompat-v7 v21.0.0, pero dado que v21.0.0 no admite colores de acento con subclases de EditText, el subrayado FloatingHintEditTextserá el negro o blanco sólido predeterminado. Además, el relleno no está optimizado para el estilo Material EditText, por lo que es posible que deba ajustarlo.
Gracias. Supongo que Google tampoco ha proporcionado una API para crear advertencias de edición de texto de estilo de material, como en google.com/design/spec/components/ ... Lo siento por las preguntas de aficionados, estoy tratando de adaptarme al diseño de materiales tanto como puedo usar la API / bibliotecas de Google y tratar de averiguar todo lo que se ha proporcionado frente a cualquier biblioteca externa. ¡Gracias de nuevo!
Para una manera más fácil de usar InputTextLayout, he creado esta biblioteca que corta su código XML a menos de la mitad y también le brinda la capacidad de establecer un mensaje de error, así como un mensaje de sugerencia y una manera fácil de hacer su validaciones.
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.*"/>
Respuestas:
Necesita agregar lo siguiente al archivo build.gradle de su módulo:
Y use com.google.android.material.textfield.TextInputLayout en su XML:
fuente
Indicación flotante EditText:
Agregue la siguiente dependencia en gradle:
En diseño:
fuente
22.2.0
implementation 'com.google.android.material:material:1.0.0-rc01'
.Sí, a partir del 29 de mayo de 2015, esta funcionalidad ahora se proporciona en la biblioteca de compatibilidad de diseño de Android
Esta biblioteca incluye soporte para
fuente
La biblioteca de soporte de Android se puede importar dentro de gradle en las dependencias:
¡Debería incluirse en GradlePlease! Y como ejemplo para usarlo:
Por cierto, es posible que el editor no comprenda que AutoCompleteTextView está permitido dentro de TextInputLayout.
fuente
Android no ha proporcionado un método nativo. Ni AppCompat.
Pruebe esta biblioteca: https://github.com/rengwuxian/MaterialEditText
Esto puede ser lo que quieras.
fuente
Importe las bibliotecas de soporte. En el archivo build.gradle de su proyecto, agregue las siguientes líneas en las dependencias del proyecto:
Utilice el siguiente TextInputLayout en su diseño de interfaz de usuario:
Entonces, llame a setHint en TextInputLayout justo después de la llamada a setContentView porque, para animar la etiqueta flotante, solo necesita establecer una pista, usando el método setHint.
fuente
setHint()
. Funciona con la sugerencia establecida en elEditText
xml de diseño.La sugerencia de @ andruboy de https://gist.github.com/chrisbanes/11247418 es probablemente tu mejor opción.
https://github.com/thebnich/FloatingHintEditText funciona con appcompat-v7 v21.0.0, pero dado que v21.0.0 no admite colores de acento con subclases de
EditText
, el subrayadoFloatingHintEditText
será el negro o blanco sólido predeterminado. Además, el relleno no está optimizado para el estilo MaterialEditText
, por lo que es posible que deba ajustarlo.fuente
No, no lo hace. Esperaría esto en una futura versión de la API, pero por ahora estamos atascados con EditText. Otra opción es esta biblioteca:
https://github.com/marvinlabs/android-floatinglabel-widgets
fuente
Para una manera más fácil de usar InputTextLayout, he creado esta biblioteca que corta su código XML a menos de la mitad y también le brinda la capacidad de establecer un mensaje de error, así como un mensaje de sugerencia y una manera fácil de hacer su validaciones. https://github.com/TeleClinic/SmartEditText
Simplemente agregue
Entonces puedes hacer algo como esto:
fuente
Prueba de esta manera
para más referencia haga clic aquí
fuente
Utilice lo
TextInputLayout
proporcionado por la biblioteca de componentes de materiales :fuente