使用第三方日历控件 CalendarView中出现的错误总结

xiaoxiao2021-07-04  243

RecyclerView中放置日历以达到上下滑动的效果

问题:

大多数月份都是5行,但是在类似2018.9,2018.12月这种月份需要6行,使用

calendarView.scrollToCalendar(year,position+1,1,false);

这个方法移动到这种月份时,没有正确计算高度,导致第6行的数据无法显示,但是点击或滑动一下后能够显示出来。

寻找思路:

1.点击或滑动后调用了view.invalidate();这个方法,这个view是通过findViewByTag来查找到的,在尝试scrollToCalendar后手动查找去刷新view,但是没有找到这个view,原因是先scrollToCalendar然后再adapter中设置了tag。我觉得这个是解决的方法,但是暂时没有找到如何找到这个tag的方法。

2.这个控件有三种模式,mode_all ;  mode_only_current ;   mode_fix ;mode_all显示是正常的,其他的两种都会少下面一行,所以思路转向三种模式的区别,在 MonthViewPager这个类中updateMonthViewHeight(int year, int month)中

将MODE_ALL_MONTH改为MODE_ONLY_CURRENT_MONTH就可以解决,但是会出现新问题,就是每一个5行的都会变成6行,第6行是空白的,现在暂时只能解决成这样,后续在更新

转载请注明原文地址: https://www.6miu.com/read-4821246.html

最新回复(0)