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:
- Reproductor multimedia reproducir pausa en android
- Establecer la sombra en TabLayout de Android
- Descripción de los atributos XML para paquetes personalizados
- Reproducción y pausa de vídeo en pantalla
- Forma personalizada Linearlayout con lado curvo en android
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:
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 ?
- Establecer layout_column y layout_row en GridLayout mediante programación
- Android forma extraíble en xml - Crear un círculo transparente en un cuadrado
- Android inhabilita el grupo de radio en xml
- ¿Cómo quitar el borde solamente de un lado del elemento?
- Set Imagen de fondo y recurso xml
- Lista completa de los atributos del tema de color del material
- Spinner personalizado con esquinas redondeadas, borde acartonado y un icono selector
- El botón Ejecutar Eclipse no funciona cuando se selecciona el archivo xml de Android
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); }
- Forzando la salida de sonido a través del altavoz en Android
- Cómo averiguar si WebView se muestra / en pantalla / visible mediante JavaScript