Изменение цвета одного дня в просмотре календаря, Android
У меня есть представление календаря в затмении, и теперь я пытаюсь изменить внешний вид одного дня, чтобы выделить даты. Я не нашел здесь никакого полезного метода, только изменения появления целых дней недели или месяцев. Так есть ли возможность выделить один день?
Также я знаю, что есть как 3 сообщения с той же самой проблемой, но ни один из них не получил ответа.
2 ответа
Решение
Вы можете расширить собственный CalenderView, чтобы создать свой собственный CustomCalendarView и вносить любые желаемые изменения во внешний вид.
Вы можете найти код для родного CalendarView здесь.
Вы можете сделать это путем получения дочерних просмотров CalendarView
и поменяй там настройки:
final CalendarView calendar = new CalendarView(this);
java.lang.reflect.Field field = null;
Class<?> cvClass = calendar.getClass();
try {
field = cvClass.getDeclaredField("mDayNamesHeader");
field.setAccessible(true);
} catch (NoSuchFieldException e) {
}
ViewGroup tv = null;
try {
tv = (ViewGroup) field.get(calendar);
} catch (IllegalAccessException e) {}
catch (IllegalArgumentException ){}
TextView k = (TextView) tv.getChildAt(1);
k.setTextColor(Color.RED);
Здесь Вы можете найти все объявления: