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í:
- Android: la eliminación de una ocurrencia de evento elimina todo su ocurrencia
- Vista de calendario para Android GingerBread y antes (API <11)
- Cómo crear un receptor para crear un nuevo evento
- Android- Eliminar Calendarview de DatePickerDialogFragment
- Inserción de elementos de calendario en Android ICS
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!
- Android - Nuevo estilo de calendario DatePicker y TimePicker
- Sincronización del proveedor del calendario para Android: columnas SYNC_DATA?
- Inicialice la fecha en android datepicker a una fecha específica, que no es la fecha actual.
- En Java, cómo obtener cadenas de días de la semana (Sun, Mon, ..., Sat) con el sistema de configuración por defecto (idioma)
- ¿Dónde puedo obtener el código fuente de Android 1.5 y 1.6?
- Calendario y PagerAdapter - Vistas ilimitadas
- Intención que abre la actividad de "evento de calendario nuevo"
- ¿Cómo crear un calendario personalizado con la gestión de eventos?
¿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:
Por otra parte, en el API nivel 21 y superior hay un nuevo Material DatePicker
temáticas que se parece a lo siguiente:
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
Esta vista está en HoloEverywhere desde API 7.
Lo que encontré hasta ahora
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
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
- Incapaz de hacer la conexión entre 2 dispositivo bluetooth android
- Compartir a través de Seekable Pipe o Stream con otra aplicación para Android?