Cómo usar las vistas (Mes, Día, Semana) de Android Stock Calendar en una aplicación personalizada

En el Calendario de Android de Google Existen varias vistas (Mes, Semana, Agenda, Semana), el código fuente descargado de Google Android Fuentes Repositorios tiene la misma aplicación, explorando el código del paquete llamado com.android.calendar tiene las vistas principales Responsables de realizar estas actividades:

Introduzca aquí la descripción de la imagen

Con el trabajo duro alrededor del código He utilizado dos paquetes com.android.calendar.month y com.android.calendar pero no pudo lograr mi objetivo, esto es una muestra de lo que he utilizado:

Introduzca aquí la descripción de la imagen

Y el siguiente código para el principal:

 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } 

Y aquí está mi código xml:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/month" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true" android:paddingTop="1dip" android:background="@null"> <TextView android:id="@+id/month_name" android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingTop="10dip" android:visibility="gone" style="@style/MonthView_MiniMonthLabel" /> <include android:id="@+id/day_names" layout="@layout/full_month_header" /> <View android:background="@color/calendar_grid_line_inner_vertical_color" android:layout_height="1px" android:layout_width="match_parent" /> <com.android.calendar.month.MonthListView android:id="@android:id/list" android:layout_width="match_parent" android:layout_height="match_parent" android:drawSelectorOnTop="false" /> </LinearLayout> 

Hasta aquí el código funciona bien, pero el con una pantalla en blanco y una barra de acción, si mi pregunta no estaba clara por favor intente editarlo.

 What should be done to include Calendar Views (Month, Week, Day) in a custom application ? 

Usted debe echar un vistazo a CalendarView es la forma estándar de integración de calendarios en Android.

Además, si necesita seleccionar Fechas y hora en su interfaz de usuario, hay DatePicker y TimePicker .

Recuerde que la aplicación de calendario predeterminada en android es open-source ! Siéntase libre de buscar el código aquí .

La pantalla está en blanco porque todavía tiene que establecer un adaptador para el ListView. Puede ver cómo se configura el adaptador en la aplicación de calendario original en MonthByWeekFragment .

  @Override protected void setUpAdapter() { mFirstDayOfWeek = Utils.getFirstDayOfWeek(mContext); mShowWeekNumber = Utils.getShowWeekNumber(mContext); HashMap<String, Integer> weekParams = new HashMap<String, Integer>(); weekParams.put(SimpleWeeksAdapter.WEEK_PARAMS_NUM_WEEKS, mNumWeeks); weekParams.put(SimpleWeeksAdapter.WEEK_PARAMS_SHOW_WEEK, mShowWeekNumber ? 1 : 0); weekParams.put(SimpleWeeksAdapter.WEEK_PARAMS_WEEK_START, mFirstDayOfWeek); weekParams.put(MonthByWeekAdapter.WEEK_PARAMS_IS_MINI, mIsMiniMonth ? 1 : 0); weekParams.put(SimpleWeeksAdapter.WEEK_PARAMS_JULIAN_DAY, Time.getJulianDay(mSelectedDay.toMillis(true), mSelectedDay.gmtoff)); weekParams.put(SimpleWeeksAdapter.WEEK_PARAMS_DAYS_PER_WEEK, mDaysPerWeek); if (mAdapter == null) { mAdapter = new MonthByWeekAdapter(getActivity(), weekParams, mEventDialogHandler); mAdapter.registerDataSetObserver(mObserver); } else { mAdapter.updateParams(weekParams); } mAdapter.notifyDataSetChanged(); } 

Y cómo se agrega el adaptador al ListView en SimpleDayPickerFragment :

 @Override public void onAttach(Activity activity) { ... setUpAdapter(); setListAdapter(mAdapter); } 
  • Vista con fondo sólido y sombras internas superiores + inferiores
  • Error de StackOverflow Android / Eclipse
  • Volver a establecer una altura de TextView mediante programación
  • Ajustar el conjunto dibujable a android: windowBackground
  • Forma de anillo en android
  • ShowAsAction = "always" se ignora en la barra de herramientas
  • Android- Cómo implementar la barra de progreso de pasos horizontales
  • Radio de degradado como porcentaje del tamaño de la pantalla
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.