From 00bf9ea2750aa5594615fc3ffcfb064f95a4a764 Mon Sep 17 00:00:00 2001 From: opst-miyatay Date: Tue, 28 Mar 2017 12:27:18 +0900 Subject: [PATCH 1/6] [add] added feature to set the text color of holiday --- .../lightcalendarview/javasample/MainActivity.java | 7 +++++++ javasample/src/main/res/layout/activity_main.xml | 1 + .../android/lightcalendarview/CalendarSettings.kt | 6 ++++++ .../recruit_mp/android/lightcalendarview/DayView.kt | 12 +++++++++++- .../android/lightcalendarview/LightCalendarView.kt | 10 ++++++++++ .../android/lightcalendarview/MonthView.kt | 7 +++++++ library/src/main/res/values/attrs.xml | 1 + 7 files changed, 43 insertions(+), 1 deletion(-) diff --git a/javasample/src/main/java/jp/co/recruit_mp/android/lightcalendarview/javasample/MainActivity.java b/javasample/src/main/java/jp/co/recruit_mp/android/lightcalendarview/javasample/MainActivity.java index 5311ecd..944133d 100644 --- a/javasample/src/main/java/jp/co/recruit_mp/android/lightcalendarview/javasample/MainActivity.java +++ b/javasample/src/main/java/jp/co/recruit_mp/android/lightcalendarview/javasample/MainActivity.java @@ -53,11 +53,16 @@ public Unit invoke(Date date, final MonthView monthView) { public void run() { Calendar cal = Calendar.getInstance(); List dates = new ArrayList(); + List holidays = new ArrayList(); for (int i = 0; i < 31; i++) { if (i % 2 == 0) { cal.set(monthView.getMonth().getYear() + 1900, monthView.getMonth().getMonth(), i); dates.add(cal.getTime()); } + if (i < 7) { + cal.set(monthView.getMonth().getYear() + 1900, monthView.getMonth().getMonth(), i); + holidays.add(cal.getTime()); + } } HashMap> map = new HashMap<>(); for (Date date : dates) { @@ -68,6 +73,8 @@ public void run() { map.put(date, accents); } monthView.setAccents(map); + // 祝日を設定 + monthView.setHolidays(holidays); } }, 1000); diff --git a/javasample/src/main/res/layout/activity_main.xml b/javasample/src/main/res/layout/activity_main.xml index a5a00a7..46cb21f 100644 --- a/javasample/src/main/res/layout/activity_main.xml +++ b/javasample/src/main/res/layout/activity_main.xml @@ -28,6 +28,7 @@ app:lcv_textColor="@color/calendar_day_text" app:lcv_selectionColor="@color/calendar_selection" app:lcv_accentColor="@color/calendar_accent" + app:lcv_holidayTextColor="#CD0303" app:lcv_firstDayOfWeek="@integer/lcv_monday"/> diff --git a/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/CalendarSettings.kt b/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/CalendarSettings.kt index a5ee870..2d5b982 100644 --- a/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/CalendarSettings.kt +++ b/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/CalendarSettings.kt @@ -169,6 +169,7 @@ class CalendarSettings(private val context: Context) : ObservableSettings() { // ------------ Text --------------------------------------------------------------------------------------- internal fun defaultTextPaint(weekDay: WeekDay): Paint = defaultTextPaints[weekDay] ?: throw IllegalStateException("cannot find default Paint with weekDay - $weekDay") + internal var holidayTextPaint: Paint = initializeHolidayTextPaint() internal var defaultTextPaints: Map = initializedDefaultTextPaints() internal var todayTextPaint: Paint = initializedTodayTextPaint() internal var selectedTextPaint: Paint = initializeSelectedTextPaint() @@ -178,6 +179,7 @@ class CalendarSettings(private val context: Context) : ObservableSettings() { it to baseTextPaint.copy().colorFilter(textFilterColorMap[it]?.let { color -> PorterDuffColorFilter(color, PorterDuff.Mode.SRC_ATOP) } ?: throw IllegalStateException("Day color map for $it not found.")) }.toMap() + private fun initializeHolidayTextPaint() = baseTextPaint.copy().color(context.getStyledColor(android.R.attr.textColorPrimary, context.getColorCompat(R.color.light_calendar_view__day_today_text_color))) private fun initializedTodayTextPaint() = baseTextPaint.copy().color(context.getStyledColor(android.R.attr.textColorPrimary, context.getColorCompat(R.color.light_calendar_view__day_today_text_color))) private fun initializeSelectedTextPaint() = baseTextPaint.copy().typeface(Typeface.DEFAULT_BOLD).color(context.getStyledColor(android.R.attr.textColorPrimaryInverse, context.getColorCompat(R.color.light_calendar_view__day_selected_text_color))) private fun initializedSelectedTodayTextPaint() = baseTextPaint.copy().typeface(Typeface.DEFAULT_BOLD).color(context.getStyledColor(android.R.attr.textColorPrimaryInverse, context.getColorCompat(R.color.light_calendar_view__day_selected_today_text_color))) @@ -207,6 +209,10 @@ class CalendarSettings(private val context: Context) : ObservableSettings() { selectedTodayTextPaint.color(colorStateList, State.SELECTED_TODAY) } + internal fun setHolidayTextColorStateList(color: Int) { + holidayTextPaint.color = color + } + internal fun setTextFilterColor(weekDay: WeekDay, color: Int?) { textFilterColorMap[weekDay] = color defaultTextPaints[weekDay]?.colorFilter(textFilterColorMap[weekDay]?.let { color -> PorterDuffColorFilter(color, PorterDuff.Mode.SRC_ATOP) } ?: throw IllegalStateException("Day color map for $weekDay not found.")) diff --git a/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/DayView.kt b/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/DayView.kt index 4d9f576..8dea6ff 100644 --- a/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/DayView.kt +++ b/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/DayView.kt @@ -54,6 +54,7 @@ class DayView(context: Context, settings: CalendarSettings, cal: Calendar) : Cel private var accentsCenterY: Float = 0f private var drawCircle: Boolean = false + private var isHoliday: Boolean = false private var radius: Float = 0f private var currentRadius: Float = 0f @@ -109,7 +110,11 @@ class DayView(context: Context, settings: CalendarSettings, cal: Calendar) : Cel layoutAccents() animateAccents() } - + // 祝日に設定 + fun setHoliday() { + this.isHoliday = true + updatePaint(); + } // 各アクセントの位置を設定する private fun layoutAccents() { // アクセント左端の位置を計算 @@ -209,6 +214,11 @@ class DayView(context: Context, settings: CalendarSettings, cal: Calendar) : Cel textPaint = settings.dayView.todayTextPaint accentPaint = settings.dayView.todayAccentPaint } + // 祝日の設定 + isHoliday -> { + textPaint = settings.dayView.holidayTextPaint + accentPaint = settings.dayView.defaultAccentPaint + } else -> { textPaint = settings.dayView.defaultTextPaint(weekDay) accentPaint = settings.dayView.defaultAccentPaint diff --git a/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/LightCalendarView.kt b/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/LightCalendarView.kt index 98a138c..3377c1e 100644 --- a/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/LightCalendarView.kt +++ b/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/LightCalendarView.kt @@ -79,6 +79,7 @@ class LightCalendarView(context: Context, attrs: AttributeSet? = null, defStyleA R.styleable.LightCalendarView_lcv_selectionColor -> setSelectionColor(a.getColorStateList(attr)) R.styleable.LightCalendarView_lcv_accentColor -> setAccentColor(a.getColorStateList(attr)) R.styleable.LightCalendarView_lcv_firstDayOfWeek -> setFirstDayOfWeek(a.getInt(attr, 0)) + R.styleable.LightCalendarView_lcv_holidayTextColor -> setHolidayTextColor(a.getColor(attr, 0)) } } a.recycle() @@ -177,6 +178,15 @@ class LightCalendarView(context: Context, attrs: AttributeSet? = null, defStyleA }.notifySettingsChanged() } + /** + * 祝日の文字色を設定する + */ + fun setHolidayTextColor(color: Int) { + settings.dayView.apply { + setHolidayTextColorStateList(color) + }.notifySettingsChanged() + } + /** * 日付ビューの選択時の背景色を設定する */ diff --git a/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/MonthView.kt b/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/MonthView.kt index a4422f9..5dddb70 100644 --- a/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/MonthView.kt +++ b/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/MonthView.kt @@ -59,6 +59,13 @@ class MonthView(context: Context, settings: CalendarSettings, var month: Date) : dayLayout.invalidateDayViews() } + // 祝日追加 + fun setHolidays(map: Collection) { + map.forEach { it -> + val date = it + dayLayout.getDayView(date)?.setHoliday(); + } + } override fun toString(): String = "MonthView($month)" } diff --git a/library/src/main/res/values/attrs.xml b/library/src/main/res/values/attrs.xml index fad60f2..0486743 100644 --- a/library/src/main/res/values/attrs.xml +++ b/library/src/main/res/values/attrs.xml @@ -7,5 +7,6 @@ + \ No newline at end of file From 6b7127a604312114d0b75bb689b0ce4512755b3f Mon Sep 17 00:00:00 2001 From: opst-miyatay Date: Wed, 29 Mar 2017 11:55:30 +0900 Subject: [PATCH 2/6] [add] added properties for fixing the circle of today --- .../lightcalendarview/javasample/MainActivity.java | 3 +++ .../android/lightcalendarview/CalendarSettings.kt | 3 +++ .../co/recruit_mp/android/lightcalendarview/DayLayout.kt | 8 ++++++-- .../android/lightcalendarview/LightCalendarView.kt | 7 +++++++ 4 files changed, 19 insertions(+), 2 deletions(-) diff --git a/javasample/src/main/java/jp/co/recruit_mp/android/lightcalendarview/javasample/MainActivity.java b/javasample/src/main/java/jp/co/recruit_mp/android/lightcalendarview/javasample/MainActivity.java index 5311ecd..8faa5cf 100644 --- a/javasample/src/main/java/jp/co/recruit_mp/android/lightcalendarview/javasample/MainActivity.java +++ b/javasample/src/main/java/jp/co/recruit_mp/android/lightcalendarview/javasample/MainActivity.java @@ -43,6 +43,9 @@ protected void onCreate(@Nullable Bundle savedInstanceState) { calendarView.setMonthFrom(calFrom.getTime()); calendarView.setMonthTo(calTo.getTime()); calendarView.setMonthCurrent(calNow.getTime()); + // 当日の強調表示固定 + calendarView.setFixToday(true); + calendarView.setOnMonthSelected(new Function2() { @Override public Unit invoke(Date date, final MonthView monthView) { diff --git a/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/CalendarSettings.kt b/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/CalendarSettings.kt index a5ee870..ac92e00 100644 --- a/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/CalendarSettings.kt +++ b/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/CalendarSettings.kt @@ -36,6 +36,9 @@ class CalendarSettings(private val context: Context) : ObservableSettings() { var timeZone: TimeZone = TimeZone.getDefault() var locale: Locale = Locale.getDefault() + // 当日を常に強調表示 + var fixToday: Boolean = false + // settings for DayLayout and WeekDayLayout: first day of the week var firstDayOfWeek: WeekDay = WeekDay.SUNDAY val dayOfWeekOffset: Int diff --git a/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/DayLayout.kt b/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/DayLayout.kt index ea1331f..bf868b9 100644 --- a/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/DayLayout.kt +++ b/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/DayLayout.kt @@ -18,6 +18,7 @@ package jp.co.recruit_mp.android.lightcalendarview import android.content.Context import android.support.v4.view.ViewCompat +import android.text.format.DateUtils import java.util.* /** @@ -135,8 +136,11 @@ class DayLayout(context: Context, settings: CalendarSettings, var month: Date) : private fun setSelectedDay(view: DayView?) { selectedDayView?.apply { - isSelected = false - updateState() + if (!settings.fixToday || !DateUtils.isToday(selectedDayView?.date!!.time)) { + // 今日の場合は常に丸を表示させる + isSelected = false + updateState() + } } selectedDayView = view?.apply { isSelected = true diff --git a/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/LightCalendarView.kt b/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/LightCalendarView.kt index 98a138c..5c013f8 100644 --- a/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/LightCalendarView.kt +++ b/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/LightCalendarView.kt @@ -239,6 +239,13 @@ class LightCalendarView(context: Context, attrs: AttributeSet? = null, defStyleA }.notifySettingsChanged() } + var fixToday: Boolean + get() = settings.fixToday + set(value) { + settings.apply { + fixToday = value + }.notifySettingsChanged() + } /** * Sets the locale to use in LightCalendarView. * Set null to use Locale.getDefault() From 3f99f1f0bfbe2317abee08074ba49c7bcd64b76f Mon Sep 17 00:00:00 2001 From: opst-miyatay Date: Wed, 29 Mar 2017 10:49:29 +0900 Subject: [PATCH 3/6] [add] added feature to display days of outside this month --- .../javasample/MainActivity.java | 4 ++++ .../src/main/res/layout/activity_main.xml | 1 + .../lightcalendarview/CalendarSettings.kt | 6 ++++++ .../android/lightcalendarview/DayLayout.kt | 7 ++++++- .../android/lightcalendarview/DayView.kt | 10 +++++++++- .../lightcalendarview/LightCalendarView.kt | 17 +++++++++++++++++ library/src/main/res/values/attrs.xml | 1 + 7 files changed, 44 insertions(+), 2 deletions(-) diff --git a/javasample/src/main/java/jp/co/recruit_mp/android/lightcalendarview/javasample/MainActivity.java b/javasample/src/main/java/jp/co/recruit_mp/android/lightcalendarview/javasample/MainActivity.java index 5311ecd..62647e0 100644 --- a/javasample/src/main/java/jp/co/recruit_mp/android/lightcalendarview/javasample/MainActivity.java +++ b/javasample/src/main/java/jp/co/recruit_mp/android/lightcalendarview/javasample/MainActivity.java @@ -43,6 +43,10 @@ protected void onCreate(@Nullable Bundle savedInstanceState) { calendarView.setMonthFrom(calFrom.getTime()); calendarView.setMonthTo(calTo.getTime()); calendarView.setMonthCurrent(calNow.getTime()); + + // 前月・翌月を表示する + calendarView.setDisplayOutside(true); + calendarView.setOnMonthSelected(new Function2() { @Override public Unit invoke(Date date, final MonthView monthView) { diff --git a/javasample/src/main/res/layout/activity_main.xml b/javasample/src/main/res/layout/activity_main.xml index a5a00a7..307e79d 100644 --- a/javasample/src/main/res/layout/activity_main.xml +++ b/javasample/src/main/res/layout/activity_main.xml @@ -28,6 +28,7 @@ app:lcv_textColor="@color/calendar_day_text" app:lcv_selectionColor="@color/calendar_selection" app:lcv_accentColor="@color/calendar_accent" + app:lcv_outsideTextColor="#ccc" app:lcv_firstDayOfWeek="@integer/lcv_monday"/> diff --git a/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/CalendarSettings.kt b/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/CalendarSettings.kt index a5ee870..f4f1d5d 100644 --- a/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/CalendarSettings.kt +++ b/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/CalendarSettings.kt @@ -35,6 +35,7 @@ class CalendarSettings(private val context: Context) : ObservableSettings() { val dayView = DayView(observer) var timeZone: TimeZone = TimeZone.getDefault() var locale: Locale = Locale.getDefault() + var displayOutside: Boolean = false // settings for DayLayout and WeekDayLayout: first day of the week var firstDayOfWeek: WeekDay = WeekDay.SUNDAY @@ -169,6 +170,7 @@ class CalendarSettings(private val context: Context) : ObservableSettings() { // ------------ Text --------------------------------------------------------------------------------------- internal fun defaultTextPaint(weekDay: WeekDay): Paint = defaultTextPaints[weekDay] ?: throw IllegalStateException("cannot find default Paint with weekDay - $weekDay") + internal var outsideTextPaint: Paint = initializeOutsideTextPaint() internal var defaultTextPaints: Map = initializedDefaultTextPaints() internal var todayTextPaint: Paint = initializedTodayTextPaint() internal var selectedTextPaint: Paint = initializeSelectedTextPaint() @@ -178,6 +180,7 @@ class CalendarSettings(private val context: Context) : ObservableSettings() { it to baseTextPaint.copy().colorFilter(textFilterColorMap[it]?.let { color -> PorterDuffColorFilter(color, PorterDuff.Mode.SRC_ATOP) } ?: throw IllegalStateException("Day color map for $it not found.")) }.toMap() + private fun initializeOutsideTextPaint() = baseTextPaint.copy().color(context.getStyledColor(android.R.attr.textColorPrimary, context.getColorCompat(R.color.light_calendar_view__day_today_text_color))) private fun initializedTodayTextPaint() = baseTextPaint.copy().color(context.getStyledColor(android.R.attr.textColorPrimary, context.getColorCompat(R.color.light_calendar_view__day_today_text_color))) private fun initializeSelectedTextPaint() = baseTextPaint.copy().typeface(Typeface.DEFAULT_BOLD).color(context.getStyledColor(android.R.attr.textColorPrimaryInverse, context.getColorCompat(R.color.light_calendar_view__day_selected_text_color))) private fun initializedSelectedTodayTextPaint() = baseTextPaint.copy().typeface(Typeface.DEFAULT_BOLD).color(context.getStyledColor(android.R.attr.textColorPrimaryInverse, context.getColorCompat(R.color.light_calendar_view__day_selected_today_text_color))) @@ -206,6 +209,9 @@ class CalendarSettings(private val context: Context) : ObservableSettings() { selectedTextPaint.color(colorStateList, State.SELECTED) selectedTodayTextPaint.color(colorStateList, State.SELECTED_TODAY) } + internal fun setOutsideTextColorStateList(color:Int) { + outsideTextPaint.color = color + } internal fun setTextFilterColor(weekDay: WeekDay, color: Int?) { textFilterColorMap[weekDay] = color diff --git a/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/DayLayout.kt b/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/DayLayout.kt index ea1331f..8fdf5f4 100644 --- a/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/DayLayout.kt +++ b/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/DayLayout.kt @@ -18,6 +18,7 @@ package jp.co.recruit_mp.android.lightcalendarview import android.content.Context import android.support.v4.view.ViewCompat +import android.util.Log import java.util.* /** @@ -106,7 +107,11 @@ class DayLayout(context: Context, settings: CalendarSettings, var month: Date) : addView(instantiateDayView(cal.clone() as Calendar)) } else -> { - addView(EmptyView(context, settings)) + if (settings.displayOutside) { + addView(instantiateDayView(cal.clone() as Calendar).setOutside()) + } else { + addView(EmptyView(context, settings)) + } } } cal.add(Calendar.DAY_OF_YEAR, 1) diff --git a/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/DayView.kt b/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/DayView.kt index 4d9f576..2d84453 100644 --- a/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/DayView.kt +++ b/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/DayView.kt @@ -54,6 +54,7 @@ class DayView(context: Context, settings: CalendarSettings, cal: Calendar) : Cel private var accentsCenterY: Float = 0f private var drawCircle: Boolean = false + private var isOutside: Boolean = false private var radius: Float = 0f private var currentRadius: Float = 0f @@ -110,6 +111,10 @@ class DayView(context: Context, settings: CalendarSettings, cal: Calendar) : Cel animateAccents() } + fun setOutside():DayView { + this.isOutside = true + return this + } // 各アクセントの位置を設定する private fun layoutAccents() { // アクセント左端の位置を計算 @@ -184,7 +189,6 @@ class DayView(context: Context, settings: CalendarSettings, cal: Calendar) : Cel /** 状態を更新する. {@link DayLayout} から呼ばれることを想定している. */ internal fun updateState() { drawCircle = isSelected || fadeInAnim.isRunning || fadeOutAnim.isRunning - updatePaint() } @@ -209,6 +213,10 @@ class DayView(context: Context, settings: CalendarSettings, cal: Calendar) : Cel textPaint = settings.dayView.todayTextPaint accentPaint = settings.dayView.todayAccentPaint } + isOutside -> { + textPaint = settings.dayView.outsideTextPaint + accentPaint = settings.dayView.defaultAccentPaint + } else -> { textPaint = settings.dayView.defaultTextPaint(weekDay) accentPaint = settings.dayView.defaultAccentPaint diff --git a/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/LightCalendarView.kt b/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/LightCalendarView.kt index 98a138c..64e13e1 100644 --- a/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/LightCalendarView.kt +++ b/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/LightCalendarView.kt @@ -79,6 +79,7 @@ class LightCalendarView(context: Context, attrs: AttributeSet? = null, defStyleA R.styleable.LightCalendarView_lcv_selectionColor -> setSelectionColor(a.getColorStateList(attr)) R.styleable.LightCalendarView_lcv_accentColor -> setAccentColor(a.getColorStateList(attr)) R.styleable.LightCalendarView_lcv_firstDayOfWeek -> setFirstDayOfWeek(a.getInt(attr, 0)) + R.styleable.LightCalendarView_lcv_outsideTextColor -> setOutsideTextColor(a.getColor(attr, 0)) } } a.recycle() @@ -177,6 +178,15 @@ class LightCalendarView(context: Context, attrs: AttributeSet? = null, defStyleA }.notifySettingsChanged() } + /** + * 前月・翌月の文字色を設定する + */ + fun setOutsideTextColor(color: Int) { + settings.dayView.apply { + setOutsideTextColorStateList(color) + }.notifySettingsChanged() + } + /** * 日付ビューの選択時の背景色を設定する */ @@ -227,6 +237,13 @@ class LightCalendarView(context: Context, attrs: AttributeSet? = null, defStyleA firstDayOfWeek = WeekDay.fromOrdinal(n) } + var displayOutside: Boolean + get() = settings.displayOutside + set(value) { + settings.apply { + displayOutside = value + }.notifySettingsChanged() + } /** * Sets the timezone to use in LightCalendarView. * Set null to use TimeZone.getDefault() diff --git a/library/src/main/res/values/attrs.xml b/library/src/main/res/values/attrs.xml index fad60f2..c117aab 100644 --- a/library/src/main/res/values/attrs.xml +++ b/library/src/main/res/values/attrs.xml @@ -7,5 +7,6 @@ + \ No newline at end of file From abcc6cd320bbc65e6868f7fadab368229da2c65f Mon Sep 17 00:00:00 2001 From: opst-miyatay Date: Tue, 4 Apr 2017 11:58:35 +0900 Subject: [PATCH 4/6] =?UTF-8?q?grade=E3=80=81buildTools=E3=81=AE=E3=83=90?= =?UTF-8?q?=E3=83=BC=E3=82=B8=E3=83=A7=E3=83=B3=E3=82=92=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 2 +- gradle/wrapper/gradle-wrapper.properties | 4 ++-- javasample/build.gradle | 2 +- kotlinsample/build.gradle | 2 +- library/build.gradle | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/build.gradle b/build.gradle index 9f11918..267158b 100644 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:2.2.0' + classpath 'com.android.tools.build:gradle:2.3.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 2811a60..ad1beb3 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Thu Sep 22 13:29:06 JST 2016 +#Mon Apr 03 15:11:18 JST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip diff --git a/javasample/build.gradle b/javasample/build.gradle index b146c65..2288eef 100644 --- a/javasample/build.gradle +++ b/javasample/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'com.android.application' android { compileSdkVersion 23 - buildToolsVersion "24.0.1" + buildToolsVersion '25.0.0' defaultConfig { applicationId "jp.co.recruit.android.lightcalendarview.javasample" diff --git a/kotlinsample/build.gradle b/kotlinsample/build.gradle index 4f0c42c..4c63224 100644 --- a/kotlinsample/build.gradle +++ b/kotlinsample/build.gradle @@ -3,7 +3,7 @@ apply plugin: 'kotlin-android' android { compileSdkVersion 23 - buildToolsVersion "23.0.3" + buildToolsVersion '25.0.0' defaultConfig { applicationId "jp.co.recruit.android.lightcalendarview.kotlinsample" diff --git a/library/build.gradle b/library/build.gradle index 54c03e6..8d0a28c 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -3,7 +3,7 @@ apply plugin: 'kotlin-android' android { compileSdkVersion 23 - buildToolsVersion "23.0.3" + buildToolsVersion '25.0.0' defaultConfig { minSdkVersion 15 From a146ae6e31b28e556e5f30e0d7e19a786fa001cf Mon Sep 17 00:00:00 2001 From: opst-miyatay Date: Tue, 4 Apr 2017 12:03:45 +0900 Subject: [PATCH 5/6] [fix] bug fix. The textSize is not reflected holiday. --- javasample/src/main/res/layout/activity_main.xml | 4 ++-- .../recruit_mp/android/lightcalendarview/CalendarSettings.kt | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/javasample/src/main/res/layout/activity_main.xml b/javasample/src/main/res/layout/activity_main.xml index 46cb21f..1cfa59a 100644 --- a/javasample/src/main/res/layout/activity_main.xml +++ b/javasample/src/main/res/layout/activity_main.xml @@ -23,8 +23,8 @@ android:id="@+id/calendarView" android:layout_width="match_parent" android:layout_height="wrap_content" - app:lcv_weekDayTextSize="18sp" - app:lcv_dayTextSize="18sp" + app:lcv_weekDayTextSize="12sp" + app:lcv_dayTextSize="12sp" app:lcv_textColor="@color/calendar_day_text" app:lcv_selectionColor="@color/calendar_selection" app:lcv_accentColor="@color/calendar_accent" diff --git a/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/CalendarSettings.kt b/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/CalendarSettings.kt index 2d5b982..4218bd6 100644 --- a/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/CalendarSettings.kt +++ b/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/CalendarSettings.kt @@ -118,6 +118,7 @@ class CalendarSettings(private val context: Context) : ObservableSettings() { todayTextPaint.textSize(value) selectedTextPaint.textSize(value) selectedTodayTextPaint.textSize(value) + holidayTextPaint.textSize(value) } private val textFilterColorMap: MutableMap = WeekDay.values().map { From 2674383793b7baeb4daa01848b0f225f030a80e4 Mon Sep 17 00:00:00 2001 From: opst-miyatay Date: Tue, 4 Apr 2017 12:05:06 +0900 Subject: [PATCH 6/6] [fix] bug fix. The textSize is not reflected outside this month. --- javasample/src/main/res/layout/activity_main.xml | 4 ++-- .../recruit_mp/android/lightcalendarview/CalendarSettings.kt | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/javasample/src/main/res/layout/activity_main.xml b/javasample/src/main/res/layout/activity_main.xml index af3c05c..e6559c7 100644 --- a/javasample/src/main/res/layout/activity_main.xml +++ b/javasample/src/main/res/layout/activity_main.xml @@ -23,8 +23,8 @@ android:id="@+id/calendarView" android:layout_width="match_parent" android:layout_height="wrap_content" - app:lcv_weekDayTextSize="18sp" - app:lcv_dayTextSize="18sp" + app:lcv_weekDayTextSize="12sp" + app:lcv_dayTextSize="12sp" app:lcv_textColor="@color/calendar_day_text" app:lcv_selectionColor="@color/calendar_selection" app:lcv_accentColor="@color/calendar_accent" diff --git a/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/CalendarSettings.kt b/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/CalendarSettings.kt index da47da3..394d2f8 100644 --- a/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/CalendarSettings.kt +++ b/library/src/main/kotlin/jp/co/recruit_mp/android/lightcalendarview/CalendarSettings.kt @@ -122,6 +122,7 @@ class CalendarSettings(private val context: Context) : ObservableSettings() { todayTextPaint.textSize(value) selectedTextPaint.textSize(value) selectedTodayTextPaint.textSize(value) + outsideTextPaint.textSize(value) } private val textFilterColorMap: MutableMap = WeekDay.values().map {