Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Medir la altura del contenedor de errores TextInputLayout

Hola Tengo que hacer el diseño como a continuación, editar texto tiene que estar en TextInputLayout para tener el error y la funcionalidad flotante pista, y girar a la derecha debe tener subrayado. Mi pregunta es cómo hacerlo, porque cuando estoy añadiendo EditText en TextInputLayout hay un padding abajo y ambos subrayados no están en la misma línea. ¿Es posible medir de alguna manera esta altura del contenedor de error? Introduzca aquí la descripción de la imagen

  • Utilizar JAXB (xjc) clases generadas en android
  • ¿Cómo implementar paneles expandibles en Android?
  • ¿Cómo incluir múltiples Repositorios en build.gradle?
  • Deslice ListView de lado como en la nueva aplicación de GMail
  • Establecer sonido de notificación en la carpeta Activos
  • ¿Cuáles son las posibles razones para la corrupción de archivos binarios en los dispositivos Android
  • ¿Cuál es el tipo / nombre de cuenta predeterminado para contactos en la aplicación de contacto de Android?
  • GPS VS acelerómetro para calcular la distancia
  • Android - ¿Es posible desactivar el botón de clic de inicio
  • No se puede arrastrar y soltar una imagen simple en el estudio android
  • Dispositivo GPS Android activado / desactivado mediante programación
  • ScrollView no cambia de tamaño directamente después de cambios secundarios
  • 2 Solutions collect form web for “Medir la altura del contenedor de errores TextInputLayout”

    Así que hay dos posibilidades de hacer esto:

    1. Establezca errorEnabled como false y cree TextView personalizado con texto de error.
    2. Añadir TextView extra invisible a la parte inferior de la segunda vista con estilo y tamaño de fuente que se puede encontrar en el constructor TextInputLayout . No estoy usando este método pero en mi caso es 12sp.

    Este es un problema común y uno que tuve que lidiar conmigo mismo el otro día. Siempre puede echar un vistazo a las medidas en las directrices aquí en lugar de tener que mirar en el código.

    Con respecto a hacer un fósforo del hilandero usted puede comenzar con la adición de un fondo como este drawable

     <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:top="-1dp" android:left="-1dp" android:right="-1dp" android:bottom="1dp" > <shape android:shape="rectangle"> <padding android:top="4dp" android:bottom="4dp" /> <stroke android:width="1dp" android:color="@color/my_grey"/> </shape> </item> </layer-list> 

    Probablemente querrá añadir android:padding="0dp" al Spinner y en lugar de usar uno de los layouts simple_... que agreguen un relleno que no coincida con EditText, devolverá un TextView llano cuando su vista regrese del adaptador pero Continúe usando el diseño simple_... para la vista desplegable, como el ejemplo del adaptador a continuación

     @Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { //convertView = mInflater.inflate(R.layout.support_simple_spinner_dropdown_item, parent, false); convertView = new TextView(parent.getContext()); } //if you want to mimick the floating hint behaviour from the edit text, //you can animate the label visibility here return populateView(position, convertView, parent); } private View populateView(int position, View convertView, ViewGroup parent) { // in here set your values as you usually would return convertView; } @Override public View getDropDownView(int position, View convertView, ViewGroup parent) { if (convertView == null) { convertView = mInflater.inflate(R.layout.support_simple_spinner_dropdown_item, parent, false); } return populateView(position, convertView, parent); } 

    Ahora, siempre que sus márgenes en el juego EditText y Spinner, se alinearán. Aunque en algunos diseños tengo que configurar android:layout_marginTop="0dp" en el Spinner

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.