From 079e31aef8aa08085fa9594604a53d9db43100a5 Mon Sep 17 00:00:00 2001 From: Kizito Nwose Date: Sat, 11 Apr 2020 11:41:48 +0200 Subject: [PATCH] Minor fixes. --- .../java/com/kizitonwose/calendarview/CalendarView.kt | 6 +++--- .../com/kizitonwose/calendarview/ui/CalendarAdapter.kt | 3 ++- .../kizitonwose/calendarview/ui/CalendarLayoutManager.kt | 8 ++------ .../kizitonwose/calendarview/ui/CalenderPageSnapHelper.kt | 2 +- sample/src/main/res/layout/example_3_fragment.xml | 3 ++- 5 files changed, 10 insertions(+), 12 deletions(-) diff --git a/library/src/main/java/com/kizitonwose/calendarview/CalendarView.kt b/library/src/main/java/com/kizitonwose/calendarview/CalendarView.kt index cd0cbfdc..4cbd517c 100644 --- a/library/src/main/java/com/kizitonwose/calendarview/CalendarView.kt +++ b/library/src/main/java/com/kizitonwose/calendarview/CalendarView.kt @@ -206,6 +206,8 @@ open class CalendarView : RecyclerView { */ var wrappedPageHeightAnimationDuration = 200 + private val pagerSnapHelper = CalenderPageSnapHelper() + private var startMonth: YearMonth? = null private var endMonth: YearMonth? = null private var firstDayOfWeek: DayOfWeek? = null @@ -226,7 +228,7 @@ open class CalendarView : RecyclerView { } constructor(context: Context, attrs: AttributeSet, defStyleAttr: Int) : super(context, attrs, defStyleAttr) { - init(attrs, defStyleAttr, 0) + init(attrs, defStyleAttr, defStyleAttr) } private fun init(attributeSet: AttributeSet, defStyleAttr: Int, defStyleRes: Int) { @@ -575,8 +577,6 @@ open class CalendarView : RecyclerView { } } - private val pagerSnapHelper = CalenderPageSnapHelper() - /** * Setup the CalendarView. You can call this any time to change the * the desired [startMonth], [endMonth] or [firstDayOfWeek] on the Calendar. diff --git a/library/src/main/java/com/kizitonwose/calendarview/ui/CalendarAdapter.kt b/library/src/main/java/com/kizitonwose/calendarview/ui/CalendarAdapter.kt index 90e6e04b..1716d4ad 100644 --- a/library/src/main/java/com/kizitonwose/calendarview/ui/CalendarAdapter.kt +++ b/library/src/main/java/com/kizitonwose/calendarview/ui/CalendarAdapter.kt @@ -215,6 +215,7 @@ internal class CalendarAdapter( visibleVH.footerView?.height.orZero() if (calView.height != newHeight) { ValueAnimator.ofInt(calView.height, newHeight).apply { + // Don't animate when the view is shown initially. duration = if (initialLayout) 0 else calView.wrappedPageHeightAnimationDuration.toLong() addUpdateListener { calView.updateLayoutParams { height = it.animatedValue as Int } @@ -222,8 +223,8 @@ internal class CalendarAdapter( } start() } - if (initialLayout) initialLayout = false } + if (initialLayout) initialLayout = false } } } diff --git a/library/src/main/java/com/kizitonwose/calendarview/ui/CalendarLayoutManager.kt b/library/src/main/java/com/kizitonwose/calendarview/ui/CalendarLayoutManager.kt index 9fa4aa39..e0288190 100644 --- a/library/src/main/java/com/kizitonwose/calendarview/ui/CalendarLayoutManager.kt +++ b/library/src/main/java/com/kizitonwose/calendarview/ui/CalendarLayoutManager.kt @@ -75,13 +75,9 @@ internal class CalendarLayoutManager(private val calView: CalendarView, @Recycle targetPosition = position } - override fun getVerticalSnapPreference(): Int { - return SNAP_TO_START - } + override fun getVerticalSnapPreference(): Int = SNAP_TO_START - override fun getHorizontalSnapPreference(): Int { - return SNAP_TO_START - } + override fun getHorizontalSnapPreference(): Int = SNAP_TO_START override fun calculateDyToMakeVisible(view: View, snapPreference: Int): Int { val dy = super.calculateDyToMakeVisible(view, snapPreference) diff --git a/library/src/main/java/com/kizitonwose/calendarview/ui/CalenderPageSnapHelper.kt b/library/src/main/java/com/kizitonwose/calendarview/ui/CalenderPageSnapHelper.kt index 622ee38d..af71dae9 100644 --- a/library/src/main/java/com/kizitonwose/calendarview/ui/CalenderPageSnapHelper.kt +++ b/library/src/main/java/com/kizitonwose/calendarview/ui/CalenderPageSnapHelper.kt @@ -5,7 +5,7 @@ import androidx.recyclerview.widget.OrientationHelper import androidx.recyclerview.widget.PagerSnapHelper import androidx.recyclerview.widget.RecyclerView -class CalenderPageSnapHelper : PagerSnapHelper() { +internal class CalenderPageSnapHelper : PagerSnapHelper() { /** * The default implementation of this method in [PagerSnapHelper.calculateDistanceToFinalSnap] uses the distance diff --git a/sample/src/main/res/layout/example_3_fragment.xml b/sample/src/main/res/layout/example_3_fragment.xml index e52e8ddc..e6b314cd 100644 --- a/sample/src/main/res/layout/example_3_fragment.xml +++ b/sample/src/main/res/layout/example_3_fragment.xml @@ -59,7 +59,8 @@ android:layout_height="wrap_content" android:layout_gravity="end|bottom" android:layout_margin="20dp" - android:tint="@color/white" + app:tint="@color/white" + app:backgroundTint="@color/colorAccent" app:srcCompat="@drawable/ic_add" /> \ No newline at end of file