私は日食でカレンダービューを持っています.今、日付を強調するために1日の外観を変更しようとしています. ここでは便利な方法は見つかりませんでした。週の日付または月の日付全体の外観の変更のみです。では、1 日を強調する可能性はありますか?
また、同じ問題を抱えた 3 つの投稿があることも知っていますが、いずれも回答がありませんでした。
私は日食でカレンダービューを持っています.今、日付を強調するために1日の外観を変更しようとしています. ここでは便利な方法は見つかりませんでした。週の日付または月の日付全体の外観の変更のみです。では、1 日を強調する可能性はありますか?
また、同じ問題を抱えた 3 つの投稿があることも知っていますが、いずれも回答がありませんでした。
ネイティブの 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);
ここですべての宣言を見つけることができます: