Android TextInputField Error de inflador
Tuve un accidente al intentar utilizar el nuevo TextInputField
para Android y quería compartir mi solución.
Intentar el nuevo TextInputField en la librería appcompat de Android estaba bloqueando mi aplicación. Aquí estaba mi xml de diseño.
- Mostrar programaticamente la barra de herramientas después de ocultarlo mediante desplazamiento (Android Design Library)
- Vistas arriba y abajo de RecyclerView
- SnackBar y fitsSystemWindow
- Hoja de fondo de Android La altura de TextView no se ajusta al expandirse por primera vez
- Establecer menú predeterminado para BottomNavigationView
<android.support.design.widget.TextInputLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <EditText android:id="@+id/email" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="e-mail" android:inputType="textEmailAddress" android:singleLine="true"/> </android.support.design.widget.TextInputLayout>
El error que tuve:
android.view.InflateException: Binary XML file line #20: Error inflating class android.support.design.widget.TextInputLayout.
SOLUCIÓN: Agregue el atributo hintTextAppearance
a su TextInputLayout
, por lo que la etiqueta de plomo se ve así:
<android.support.design.widget.TextInputLayout android:layout_width="match_parent" android:layout_height="wrap_content" app:hintTextAppearance="@android:style/TextAppearance.Medium">
- Pantalla inferior de pantalla completa con el botón Cerrar (X) en la parte superior
- Diseño Android de Android TabLayout
- Cómo utilizar SwipeDismissBehavior.OnDismissListener en RecyclerView
- Cómo deshabilitar el enfoque inmediato en TextInputLayout?
- Fragmento sin desplazamiento en un ViewPager dentro de CoordinatorLayout
- AppBarLayout cambiar compensación mediante programación
- Cómo implementar la pestaña de navegación inferior según la nueva guía de Google
- WebView en CoordinatorLayout con CollapsingToolbarLayout
Asegúrese de tener las siguientes dependencias en su archivo gradle:
compile 'com.android.support:appcompat-v7:22.2.0' compile 'com.android.support:design:22.2.0'
Ejemplo de trabajo:
<android.support.design.widget.TextInputLayout android:id="@+id/txtEmail_InpLyt" android:layout_width="match_parent" android:layout_height="wrap_content"> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textEmailAddress" android:ems="10" android:id="@+id/txtEmail" android:hint="Email Address" android:singleLine="true" android:layout_alignParentTop="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true"/> </android.support.design.widget.TextInputLayout>
( hintTextAppearance
es necesario establecer hintTextAppearance
.)
Actualizar:
Si experimenta problemas con el texto de sugerencia que no aparece en versiones más recientes de Android (Marshmallow / Nougat), actualice la biblioteca a la versión 22.2.1 (vea TextInputLayout sin mostrar la sugerencia de EditText antes de que el usuario se centre en ella ).
compile 'com.android.support:appcompat-v7:22.2.1' compile 'com.android.support:design:22.2.1'
Esto me sucedió a mí también, y me surgió una solución que no requiere cambiar el tema de la aplicación, sino simplemente cambiar el tema de la TextInputLayout:
<android.support.design.widget.TextInputLayout android:id="@+id/testingInputLayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/Theme.AppCompat"> <EditText android:id="@+id/testingEditText" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@string/testText" android:inputType="textEmailAddress" /> </android.support.design.widget.TextInputLayout>
Necesitará agregar la biblioteca appCompat si aún no lo ha hecho:
compile 'com.android.support:appcompat-v7:23.0.1'
Tengo el mismo problema al inflar XML que contiene TextInputLayout
. El problema se solucionó estableciendo el estilo correcto en mi aplicación. Al igual que se dice aquí: la biblioteca de soporte de diseño de Android
Tengo el siguiente problema
Caused by: android.view.InflateException: Binary XML file line #38: Error inflating class android.support.design.widget.TextInputLayout
Mi estilo.xml fue
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="AppTheme" parent="android:Theme.Material"> <!-- Customize your theme here. --> </style> </resources>
Como se ha dicho en este post sobre Design Support Library
Tenga en cuenta que como la biblioteca de diseño depende de las bibliotecas de soporte v4 y AppCompat Support, éstas se incluirán automáticamente cuando agregue la dependencia de biblioteca de diseño.
Así que NO NECESITA AÑADIR la siguiente línea dentro del archivo gradle
compile 'com.android.support:appcompat-v7:22.2.0'
He encontrado el enlace behove explicando que la Biblioteca de Diseño de soporte es parte de la AppCompat y requiere la base de tema AppCompat para trabajar. Así que he modificar mi style.xml para ser
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> </style> </resources>
Y funcionó.
Utilice lo siguiente:
View view = LayoutInflator.from(getActivity()).inflate(R.layout.your_layout_file,parent,false);
- Dónde encontrar las imágenes de recursos originales de Android
- ¿Es posible generar una miniatura desde una url de vídeo en android