Cómo utilizar TextInputLayout con Theme.material?

Estoy tratando de usar TextInputLayout con Theme.material y el código parece ….

Activity_mail.xml

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:drawableLeft="http://schemas.android.com/apk/res-auto" android:background="#2196F3" android:orientation="vertical" android:scrollbarAlwaysDrawVerticalTrack="true" tools:context="com.realmilk.MainActivity"> <TextView android:id="@+id/login_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="16dp" android:layout_marginTop="22dp" android:gravity="center_horizontal" android:text="Account Login" android:textColor="#fff" android:textSize="26sp" android:textStyle="bold" /> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@+id/login_title" android:layout_marginTop="70dp" android:background="#fff" android:elevation="4dp" android:orientation="vertical" android:padding="20dp"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:paddingTop="30dp"> <android.support.design.widget.TextInputLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:drawableLeft="@drawable/ic_supervisor_account_black_24dp" android:drawableTint="#FF4081" android:singleLine="true" android:hint="User Name" android:inputType="textEmailAddress" /> </android.support.design.widget.TextInputLayout> <android.support.design.widget.TextInputLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:singleLine="true" android:drawableLeft="@drawable/ic_lock_black_24dp" android:drawableTint="#FF4081" android:hint="Password" android:inputType="numberPassword" /> </android.support.design.widget.TextInputLayout> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" android:paddingTop="5dp" android:text="Forgot Password?" /> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_margin="22dp" android:background="#d67601" android:text="Sign in" android:textAllCaps="false" android:textColor="#fff" android:textSize="18sp" /> </LinearLayout> </RelativeLayout> <ImageButton android:id="@+id/user_profile_photo" android:layout_width="100dp" android:layout_height="100dp" android:layout_below="@+id/login_title" android:layout_centerHorizontal="true" android:layout_marginTop="16dp" android:background="@drawable/user_profile_image_background" android:elevation="4dp" /> </RelativeLayout> 

El MainActivity se parece a esto ..

 public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } } 

Cuando intento ejecutar esto

 Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. at android.support.v7.app.AppCompatDelegateImplV7.createSubDecor(AppCompatDelegateImplV7.java:343) at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:312) at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:277) at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) at com.realmilk.MainActivity.onCreate(MainActivity.java:11) at android.app.Activity.performCreate(Activity.java:6237) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) 

Esto fue en la consola que observé.

¿Puede alguien ayudarme a encontrar donde me he equivocado.

2 Solutions collect form web for “Cómo utilizar TextInputLayout con Theme.material?”

cambiar los siguientes archivos

style.xml

 <resources> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style> </resources> 

colors.xml

 <resources> <color name="colorPrimary">#3F51B5</color> <color name="colorPrimaryDark">#1a237e</color> <color name="transparent">@android:color/transparent</color> <color name="colorAccent">#FF4081</color> <color name="windowBackground">#313131</color> </resources> 

usted puede cambiar colores según su necesidad.

Androidmanifest.xml

 <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> //your activities </application> 

espero que esto ayude…

TextInputLayout es parte de la biblioteca de support (como se ve es parte de la biblioteca de diseño). Todo el componente de soporte de las bibliotecas de soporte se escriben para ser complementarios con otros componentes de soporte como Temas. En este caso, debe utilizar Theme.AppCompat . Pero no te preocupes, todos los elementos compat ui están diseñados para soportar versiones anteriores de Android, pero si usas el tema de compatibilidad de aplicaciones, automáticamente utilizará la implementación del tema Material para generar la interfaz de usuario en tu aplicación.

Para resumir: debes Theme.AppCompat pero es igual a Material Theme en el sistema operativo Android> = 5.0

Solo usa:

 <style name="AppTheme" parent="Theme.AppCompat"> 

en lugar del material estándar.

  • Inbox de Google como elemento de RecyclerView abrir animación
  • Cómo implementar Material Design "Full-width text field"?
  • Tablas de material de Android 5.0 con barra de herramientas
  • Superposición de contenido por encima de AppBarLayout utilizando nuevo diseño de material
  • Colores del icono de diseño de material
  • Cómo dar color de texto personalizado para un solo elemento de menú en un NavigationView?
  • ¿Es válida la guía de diseño de iconografía Android para Android 5 / Diseño de material
  • Barra de estado de degradado en Android Lollipop
  • Biblioteca de soporte de diseño de materiales
  • Creación de un botón de acción flotante con menús de subacción animados
  • El uso del ejemplo de RecyclerView no compila
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.