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.