una studio sistema personalizar para iconos icono dinamicos como cambiar app aplicacion android calendar android-custom-view android-calendar calendarview

android - studio - ¿Cómo agregar un icono o cambiar el ícono del día de la vista de calendario?



iconos dinamicos android (2)

Otra alternativa es usar CalendarProvider. Puede consultar esto: http://developer.android.com/guide/topics/providers/calendar-provider.html

Estoy desarrollando una aplicación de calendario y esto es lo que quiero hacer; por ejemplo, tengo varias actividades en varios días de un mes y en el calendario, quiero agregar un ícono a los días que tienen actividad (un concierto, por ejemplo). si un día no tiene una actividad este día no tendrá un ícono.

Nota: estoy usando CalendarView como UI del calendario.

Aquí está la imagen de lo que intento explicar;

http://postimage.org/image/kdejw72nb/

Por favor, ayúdame a agregar estos pequeños íconos a estos días especiales.

Gracias por adelantado.


Tendría que crear su gridView personalizado. Podría verse algo como esto:

diseño para los días de la semana

<GridView android:id="@+id/weekdays" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:clickable="false" android:numColumns="7" />

layout.xml para los días

<GridView android:id="@+id/days" android:layout_width="wrap_content" android:layout_height="match_parent" android:numColumns="7" />

código de java para mostrar los días de la semana

GridView weekdays = (GridView) linearLayout.findViewById(R.id.weekdays); weekdays.setAdapter(new Weekdays()); public class WeekDays extends BaseAdapter { String[] weekdays = null; public WeekDayAdapter() { DateFormatSymbols dateFormatSymbols= new DateFormatSymbols(); weekdays = = dateFormatSymbols.getShortWeekdays(); } public int getCount() { return 7; } public Object getItem(int position) { return weekdays[position]; } public long getItemId(int position) { return GridView.INVALID_ROW_ID; } public View getView(int position, View convertView, ViewGroup parent) { View view = null; view = new LinearLayout(parent.getContext()); view.setLayoutParams(new GridView.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); view.setOrientation(Horizontal); LinearLayout linearLayout = new LinearLayout(parent.getContext()); linearLayout.setOrientation(Vertical); TextView weekDays = new TextView(parent.getContext()); weekDays.setText(weekdays[position + 1]); linearLayout.addView(weekDays); view.addView(linearLayout); return view; } }

Podría hacer algo similar para establecer los días del mes. No dude en hacer cualquier pregunta.