Android Material Design Datepicker con AppCompat
Estoy tratando de agregar el nuevo diseño de material de Android 5.0 Datepicker a mi aplicación pre 5.0 con AppCompat. he añadido
compile "com.android.support:appcompat-v7:21.0.0"
A mi archivo build.gradle y actualizé mi tema a:
- ¿Cómo implementar una lista interminable con RecyclerView?
- Animación de la barra de herramientas Android AppCompat-v21
- Error al inflar el fragmento de clase InflateException Archivo XML binario
- CardView Haga clic en estado no funciona
- La propiedad de elevación no funciona android
<?xml version="1.0" encoding="utf-8"?>
<style name="AppTheme.Base" parent="@style/Theme.AppCompat.Light"> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="android:windowNoTitle">true</item> <item name="windowActionBar">false</item> </style>
Pero el Datepicker todavía se parece a esto:
Y no así:
¿Puede alguien decirme cómo conseguir que el nuevo datepicker funcione en dispositivos pre 5.0?
Gracias por adelantado.
- Android TextInputLayouts perder texto / contenido al volver en la transacción de fragmentos
- Obtener AppCompat no admite la excepción de características del tema actual después de actualizar a la versión AppCompat v22.1.0 issue
- getActionBar no funciona con AppCompat lib
- Biblioteca de diálogo de material - evita el despedir / cerrar el diálogo en la función de función onPositive
- ¿Cómo puedo colocar un ProgressBar a la derecha de la barra de herramientas?
- Biblioteca de soporte de diseño de materiales
- ¿Cómo puedo utilizar un icono en lugar de un título en la barra de herramientas de Android?
- Añadir elevación / sombra en la barra de herramientas para dispositivos pre-lollipop
Actualizar:
Como bien señalado por jfcartier, ahora también hay MaterialDateTimePicker . Es probablemente una solución más agradable que la de abajo, ya que tiene una API agradable y agradable.
Podrías probar la biblioteca android-betterpickers . Tiene un widget CalendarDatePickerDialog
que se parece al que desea. Proporciona un tema ligero y oscuro, pero para personalizar los colores tendrías que añadirlo como un proyecto de biblioteca y cambiar el código tú mismo.
El uso es bastante sencillo una vez que agregue la biblioteca a su proyecto.
// Create date picker listener. CalendarDatePickerDialog.OnDateSetListener dateSetListener = new CalendarDatePickerDialog.OnDateSetListener() { @Override public void onDateSet(CalendarDatePickerDialog dialog, int year, int monthOfYear, int dayOfMonth) { // Set date from user input. Calendar date = Calendar.getInstance(); date.set(Calendar.HOUR_OF_DAY, 9); date.set(Calendar.MINUTE, 0); date.set(Calendar.YEAR, year); date.set(Calendar.MONTH, monthOfYear); date.set(Calendar.DAY_OF_MONTH, dayOfMonth); // Do as you please with the date. } }; // Create dismiss listener. CalendarDatePickerDialog.OnDialogDismissListener dismissListener = new CalendarDatePickerDialog.OnDialogDismissListener() { @Override public void onDialogDismiss(DialogInterface dialoginterface) { // Do something when the user dismisses the dialog. } }; // Show date picker dialog. CalendarDatePickerDialog dialog = new CalendarDatePickerDialog(); dialog.setOnDateSetListener(dateSetListener); dialog.setOnDismissListener(dismissListener); dialog.setThemeDark(false); dialog.show(getSupportFragmentManager(), "DATE_PICKER_TAG");
El resultado final debe parecerse a esto (lo siento por la mala calidad).
Me gustó esta biblioteca. Es un clon de Flavien Laurent Data y Time Picker con algunas mejoras. Ambos se basan en el buscador oficial de fecha y hora de Google para Android 4.3 o superior, pero adaptado para Android 2.1 o superior.
- Android Map V2 – ¿Por qué MAPS_RECEIVE permiso?
- Barra de acción de corte / copia personalizada para EditText que muestra las manijas de selección de texto