From 01177ef0f9593606916b748a7d0ef9f861f7edb8 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 21 Feb 2021 23:29:04 +0100 Subject: [PATCH] shrink the monthly day view + make the background grid non clickable --- .../calendar/pro/fragments/MonthDayFragment.kt | 1 - .../simplemobiletools/calendar/pro/views/MonthView.kt | 7 ++++++- .../calendar/pro/views/MonthViewWrapper.kt | 10 +++++++--- app/src/main/res/layout/month_view.xml | 5 ++--- 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/MonthDayFragment.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/MonthDayFragment.kt index 2fd34f026..36bae60fa 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/MonthDayFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/MonthDayFragment.kt @@ -9,7 +9,6 @@ import android.view.ViewGroup import android.widget.RelativeLayout import androidx.fragment.app.Fragment import com.simplemobiletools.calendar.pro.R -import com.simplemobiletools.calendar.pro.activities.MainActivity import com.simplemobiletools.calendar.pro.extensions.config import com.simplemobiletools.calendar.pro.helpers.Config import com.simplemobiletools.calendar.pro.helpers.DAY_CODE diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/views/MonthView.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/views/MonthView.kt index 0d6b229d5..4b8c2ee04 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/views/MonthView.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/views/MonthView.kt @@ -216,7 +216,12 @@ class MonthView(context: Context, attrs: AttributeSet, defStyle: Int) : View(con private fun measureDaySize(canvas: Canvas) { dayWidth = (canvas.width - horizontalOffset) / 7f - dayHeight = (canvas.height - weekDaysLetterHeight) / ROW_COUNT.toFloat() + dayHeight = if (isMonthDayView) { + weekDaysLetterHeight * 1.2f + } else { + (canvas.height - weekDaysLetterHeight) / ROW_COUNT.toFloat() + } + val availableHeightForEvents = dayHeight.toInt() - weekDaysLetterHeight maxEventsPerDay = availableHeightForEvents / eventTitleHeight } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/views/MonthViewWrapper.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/views/MonthViewWrapper.kt index 187b6bd86..77cdcba68 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/views/MonthViewWrapper.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/views/MonthViewWrapper.kt @@ -36,7 +36,7 @@ class MonthViewWrapper(context: Context, attrs: AttributeSet, defStyle: Int) : F onGlobalLayout { if (!wereViewsAdded && days.isNotEmpty()) { measureSizes() - addViews() + addClickableBackgrounds() monthView.updateDays(days, isMonthDayView) } } @@ -48,7 +48,7 @@ class MonthViewWrapper(context: Context, attrs: AttributeSet, defStyle: Int) : F dayClickCallback = callback days = newDays if (dayWidth != 0f && dayHeight != 0f) { - addViews() + addClickableBackgrounds() } isMonthDayView = !addEvents @@ -69,7 +69,11 @@ class MonthViewWrapper(context: Context, attrs: AttributeSet, defStyle: Int) : F } } - private fun addViews() { + private fun addClickableBackgrounds() { + if (isMonthDayView) { + return + } + removeAllViews() monthView = inflater.inflate(R.layout.month_view, this).month_view wereViewsAdded = true diff --git a/app/src/main/res/layout/month_view.xml b/app/src/main/res/layout/month_view.xml index 4e2e595b5..5a861eaf2 100644 --- a/app/src/main/res/layout/month_view.xml +++ b/app/src/main/res/layout/month_view.xml @@ -1,6 +1,5 @@ - + android:layout_height="match_parent" />