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

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行是空白的,现在暂时只能解决成这样,后续在更新

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值