Vista de calendario de Android

Soy bastante nuevo en el desarrollo de Android y estoy buscando un medio de incluir el calendario en mi aplicación de Android, pero estoy golpeando hacia fuera bastante malo cuando google.

  1. ¿Hay alguna manera de usar un tipo de calendario predeterminado de vista en mi aplicación? (Sería ideal ya que la interfaz de usuario sería familiar)

  2. A falta de una opción incorporada, ¿hay buenas bibliotecas por ahí con un control de calendario que podría utilizar?

No estoy buscando la sincronización y todo eso (al menos, en este momento), simplemente buscando tener una vista de calendario que pueda mostrar información al usuario.

Escribí la biblioteca de Caldroid ( https://github.com/roomorama/Caldroid ) que es simple de configurar y tiene muchas características tales como la fecha min / max de la configuración, las fechas inhabilitadas, selecciona el rango de fecha, desliza para cambiar el mes, completamente localizada, ayuda Rotación, etc. Es fácil personalizar la apariencia. Sólo para compartir si alguien podría encontrar útil 🙂

Intenté android-CalendarView , Caldroid y más tarde cambié a android-tiempo-cuadrado que tiene estas mejoras:

  • Cambio mucho más rápido a otros meses debido al desplazamiento vertical (no hay paginación que responda lentamente en Caldroid)
  • Indicadores, fechas resaltadas (al menos en este tenedor para android)
  • Versión iOS disponible con la misma apariencia
  • Parece más limpio que la versión androide porque los meses están claramente separados

    Introduzca aquí la descripción de la imagen

Al igual que Caldroid, es parte de una aplicación productiva .

AFAIK, no hay otra manera que implementar su propio calendario. Así que … lo que tendría que hacer es usar un GridLayout con 7 columnas y crear un BaseAdapter personalizado para mostrar datos correctamente.

Android ofrece ahora tres formas de incorporar calendarios en tu aplicación.

  1. Vista de calendario para las fechas de recogida y tal.

  2. Se puede acceder al proveedor de calendario para agregar y eliminar eventos del calendario del SO.

  3. Las intenciones de calendario le permiten proporcionar un calendario sin tener que obtener permisos adicionales o tratar con bases de datos.

Es posible pero no fácil. http://jimblackler.net/blog/?p=151&cpage=2#comment-52767

y

  private void InsertAppointment(String strTitle, String strDescription, String strEventLocation, long StartDateTime, long EndDateTime, boolean bAllDay, boolean bHasAlarm){ int tAllday; int tHasAlarm; if (bAllDay = true){ tAllday = 1; } else tAllday = 0; if (bHasAlarm = true){ tHasAlarm = 1; } else tHasAlarm = 0; ContentValues event = new ContentValues(); // Calendar in which you want to add Evenet event.put("calendar_id", CalId); //CalId event.put("title", strTitle); event.put("description", strDescription); event.put("eventLocation", strEventLocation); event.put("dtstart", StartDateTime); event.put("dtend", EndDateTime ); event.put("allDay", 0); event.put("hasAlarm", 0); Uri eventsUri = Uri.parse("content://com.android.calendar/events"); // event is added getContentResolver().insert(eventsUri, event); } 

Una búsqueda rápida en el contenido: //com.android.calendar/calendars le ayudará a empezar. Pero no he terminado la mía, pero no puedo obtener los datos todavía. Pero es posible

Esta biblioteca parece realmente agradable y con una UI más moderna (Material Design):

https://github.com/prolificinteractive/material-calendarview

Sólo tienes que importarlo con gradle:

 compile 'com.prolificinteractive:material-calendarview:1.4.0' 

Y añádelo en su diseño:

 <com.prolificinteractive.materialcalendarview.MaterialCalendarView xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/calendarView" android:layout_width="match_parent" android:layout_height="wrap_content" app:mcv_showOtherDates="all" app:mcv_selectionColor="#00F" /> 

Introduzca aquí la descripción de la imagen

Puede utilizar el selector de calendarios de Android que he creado, es un proyecto de código abierto y puede agregarlo fácilmente a su proyecto.

https://github.com/sancarbar/Android-Calendar-Picker

Puede utilizar MFCalendarView: https://github.com/MustafaFerhan/MFCalendarView

Establecer múltiples eventos;

 ArrayList<String> eventDays = new ArrayList<String>(); eventDays.add("2014-02-25"); eventDays.add(Util.getCurrentDate()); mf.setEvents(eventDays); 

Y manejar con el oyente de MFCalendarView:

 mf = (MFCalendarView) findViewById(R.id.mFCalendarView); mf.setOnCalendarViewListener(new onMFCalendarViewListener() { @Override public void onDisplayedMonthChanged(int month, int year, String monthStr) { } @Override public void onDateChanged(String date) { } }); 

Es muy sencillo.

  • Java.lang.IllegalArgumentException: Clase incorrecta: class java.util.GregorianCalendar
  • Cómo mostrar el calendario en una aplicación para Android
  • Add Calendar event to Android de la web .vcs descarga
  • Compruebe si un tiempo determinado se encuentra entre dos veces independientemente de la fecha
  • Integración de Android Calendar en Android OS 4
  • Leer y escribir el calendario
  • ¿Funcionará AlarmManager si mi aplicación no se está ejecutando?
  • ¿Android proporciona una API para determinar los días de fin de semana que es local-consciente?
  • Cómo añadir un evento a la aplicación de Google Calendar de Google Android haciendo clic en una URL
  • Android Formato de fecha con zona horaria
  • FireBase Job Dispatcher. El trabajo comienza después de 20-60 seg, incluso con Triger.Now. ¿Cómo puedo arreglarlo?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.