Vista del Calendario de Android para el selector de fechas

Estoy escribiendo mi primera aplicación, y tengo una pregunta sobre DatePicker .

Mi aplicación requiere que el usuario introduzca una fecha. La forma más fácil de usar sería mostrar un widget similar al calendario que muestra el mes actual como una cuadrícula de calendario, algo así:

Introduzca aquí la descripción de la imagen

Quiero usar eso en lugar de la interfaz de DatePicker – que tiene los campos de mes, día y año, cada uno con un botón hacia arriba y hacia abajo para incrementar / decrementar.

¿Es este tipo de funcionalidad incorporado en cualquier widget o vista de Android, o tendría que diseñar mi propio componente personalizado para hacer esto? Pensé que esto ya existiría, viendo cuánto este tipo de interfaz de usuario se utiliza con tanta frecuencia en aplicaciones no móviles y páginas web.

¡Gracias!

¿Es este tipo de funcionalidad integrada en cualquier widget o vista de Android, o tendría que diseñar mi propio componente personalizado para hacer esto?

No hay ningún componente para eso en el SDK de Android, lo siento. El widget que ilustra es demasiado pequeño para una pantalla táctil. Puedes implementar algo más grande (ver la aplicación Calendario), pero en gran medida estás solo para eso.

Ahora, en 2014, incluso el DatePicker nativo (enlace) contiene Holo pequeño buscando CalendarView (enlace) para elegir un día en mes.

Puede elegir, si ambos hiladores y CalendarView o sólo uno de ellos se muestra configurando:

  • android:calendarViewShown
  • android:spinnersShown

No estoy seguro si es sólo API nivel 16+ o si fue incluso en helado Sandwich, pero está allí. Así es como se ve por defecto:

Introduzca aquí la descripción de la imagen


Por otra parte, en el API nivel 21 y superior hay un nuevo Material DatePicker temáticas que se parece a lo siguiente:

Introduzca aquí la descripción de la imagen

Esto es por defecto en la API 21+ y ya no hay hilanderos, pero puede volver a la Holo mediante la configuración

 android:datePickerMode="spinner" 

En su XML.

Desde la API 11 allí de forma nativa: CalendarView

Introduzca aquí la descripción de la imagen

Esta vista está en HoloEverywhere desde API 7.

Recientemente he escrito exactamente esto como una aplicación modular. He aquí algunos ejemplos de código , documentación con capturas de pantalla y descarga de .apk .

Encontrado una buena implementación en http://caughtinthemobileweb.wordpress.com/2011/06/20/how-to-implement-calendarview-in-android/


También Desde API nivel 11 (Android 3.0) ha habido la implementación nativa del CalendarView http://developer.android.com/reference/android/widget/CalendarView.html

Intente utilizar este componente: https://github.com/truefedex/android-date-picker Introduzca aquí la descripción de la imagen

Si quieres usarlo como popup escribe en tu onclick:

 if (calendarPopup == null) { calendarPopup = new PopupWindow(getContext()); CalendarPickerView calendarView = new CalendarPickerView(getContext()); CalendarNumbersView calendar = (CalendarNumbersView) calendarView.findViewById(com.phlox.datepick.R.id.calendar); calendar.setShowDayNames(false); calendarView.setListener(onDateSelectionListener); calendarPopup.setContentView(calendarView); calendarPopup.setWindowLayoutMode( MeasureSpec.makeMeasureSpec(llCalendar.getWidth(), MeasureSpec.EXACTLY), ViewGroup.LayoutParams.WRAP_CONTENT); calendarPopup.setHeight(1); calendarPopup.setWidth(llCalendar.getWidth()); calendarPopup.setOutsideTouchable(true); } calendarPopup.showAsDropDown(llCalendar); 

Puede usar esta lib para la selección de fecha

https://github.com/square/android-times-square/

  • Problema con Calendar.get (Calendar.HOUR)
  • La eliminación de eventos del calendario no se ha eliminado
  • Calendario de Android Java getDisplayName / s devolver null
  • Eliminar y actualizar el evento de calendario existente
  • Establecer la repetición de la alarma cada día a una hora específica En Android
  • Android - ¿Cómo se especifica una ubicación al llamar al calendario con una intención?
  • Cómo iniciar la aplicación de calendario de Android con Intent (Froyo)
  • Webcal / .ics se suscriben al feed de la aplicación de Android
  • ¡Ayuda! ¿Cómo puedo crear una aplicación de calendario para Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.