support last cardview android android-design-library

last - com.android.support:design 26



Error en el inflador de TextInputField de Android (8)

Se bloqueó al intentar usar el nuevo TextInputField para Android y quería compartir mi solución.

Probar el nuevo TextInputField en la biblioteca de aplicaciones de Android estaba fallando en mi aplicación. Aquí estaba mi diseño xml.

<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 tengo:

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 , para que la etiqueta principal tenga este aspecto:

<android.support.design.widget.TextInputLayout android:layout_width="match_parent" android:layout_height="wrap_content" app:hintTextAppearance="@android:style/TextAppearance.Medium">


Asegúrese de que el LayoutInflater se crea desde una AppCompatActivity

ex.

en lugar de

inflater = (LayoutInflater)ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

utilizar:

inflater = LayoutInflater.from(<appCompatActivity>);


Asegúrese de tener las siguientes dependencias en su archivo de 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 configurar hintTextAppearance ).

Actualizar:

Si experimenta problemas con el texto de la sugerencia que no aparece en las versiones más recientes de Android (Marshmallow / Nougat), actualice la biblioteca a la versión 22.2.1 (consulte TextInputLayout que no muestra la sugerencia 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 también me sucedió a mí, y se me ocurrió una solución que no requiere cambiar el tema de la aplicación, sino simplemente cambiar el tema de 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>

Deberá 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ó configurando el Estilo correcto en mi aplicación. Como dice aquí: 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 style.xml era

<?xml version="1.0" encoding="utf-8"?> <resources> <style name="AppTheme" parent="android:Theme.Material"> <!-- Customize your theme here. --> </style> </resources>

Como se dijo en este post en la Biblioteca de Soporte de Diseño

Tenga en cuenta que, dado que la biblioteca de diseño depende de las bibliotecas de soporte de v4 y de AppCompat, éstas se incluirán automáticamente cuando agregue la dependencia de la biblioteca de diseño.

Entonces NO NECESITA AÑADIR la siguiente línea dentro del archivo de gradle

compile ''com.android.support:appcompat-v7:22.2.0''

Encontré el enlace explicando que la Biblioteca de Soporte de Diseño es parte de AppCompat y requiere que la base de Tema de AppCompat funcione. Así que he modificado mi style.xml para que sea

<?xml version="1.0" encoding="utf-8"?> <resources> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> </style> </resources>

Y funcionó.


Tuve el mismo problema con Android Studio 3.0.1

Todo lo que necesita para agregar la siguiente línea en gradle.properties (Project Propeties) :

android.enableAapt2 = falso


Usa lo siguiente:

View view = LayoutInflator.from(getActivity()).inflate(R.layout.your_layout_file,parent,false);


es posible que lo hayas agregado compile ''com.android.support:appcompat-v7:22.2.0'' pero necesitas agregar compile ''com.android.support:design:22.2.0''

Puedes probar estas dependencias:

compile ''com.android.support:appcompat-v7:22.2.0'' compile ''com.android.support:design:22.2.0''

en tu archivo de gradle


para mí, los cambios de trabajo de EditText a TextInputEditText

<android.support.design.widget.TextInputLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.design.widget.TextInputEditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/date_raffle"/> </android.support.design.widget.TextInputLayout>