Open yccheok opened 5 years ago
YearViewPager需要重写2个方法
@Override
public void setCurrentItem(int item) {
setCurrentItem(item, false);
}
@Override
public void setCurrentItem(int item, boolean smoothScroll) {
if (Math.abs(getCurrentItem() - item) > 1) {
super.setCurrentItem(item, false);
} else {
super.setCurrentItem(item, false);
}
}
对不起。我有些混淆。
这是最新 master branch 的 com.haibin.calendarview.YearViewPager
代码
@Override
public void setCurrentItem(int item) {
setCurrentItem(item, false);
}
@Override
public void setCurrentItem(int item, boolean smoothScroll) {
if (Math.abs(getCurrentItem() - item) > 1) {
super.setCurrentItem(item, false);
} else {
super.setCurrentItem(item, smoothScroll);
}
}
你是说要把他改去?
@Override
public void setCurrentItem(int item) {
setCurrentItem(item, false);
}
@Override
public void setCurrentItem(int item, boolean smoothScroll) {
if (Math.abs(getCurrentItem() - item) > 1) {
super.setCurrentItem(item, false);
} else {
super.setCurrentItem(item, false);
}
}
可是,我的代码,和官方版本 demo 代码,都是用着相同的 https://raw.githubusercontent.com/huanghaibin-dev/CalendarView/master/calendarview/src/main/java/com/haibin/calendarview/YearViewPager.java 。为何官方版本 demo 不会出现延迟的问题?谢谢
以前引起初始化慢是因为 setCurrentItem(item);
引起的,
最近几个版本通过 setCurrentItem(item, false);
得到了修复,你的原因并不是因为这个,可能是由于滚动视图引起的
请问这个问题解决了吗?
我是用以下代码从月视图转换到年视图
可是,我发现,转换时,性能不优化。会有大约一秒延迟。
1。现在在四月月视图 2。执行 mCalendarView.showYearSelectLayout(2019) 3。会有大约一秒延迟,才成功转换到2019年视图 4。点击四月,转换到四月月视图。没延迟。 5。执行 mCalendarView.showYearSelectLayout(2019) 6。成功转换到2019年视图。没延迟。
另一个 use case 如下
1。现在在四月月视图 2。执行 mCalendarView.showYearSelectLayout(2019) 3。会有大约一秒延迟,才成功转换到2019年视图 4。点击一月,转换到一月月视图。没延迟 5。执行 mCalendarView.showYearSelectLayout(2019) 6。会有大约一秒延迟,才成功转换到2019年视图
诡异的是,我在 CalendarView 的 Demo,并没发现这延迟的问题。
我看了看 CalendarView 的 Demo,并没发现 Demo 有作任何特别的处理。
我和 Demo 显著的不同是,我的年视图是 SCROLLABLE 的。不知,这是不是延迟的因素?
要体验延迟的效果,可以下载 https://wenote.me 看看
这是我的 XML
请问有什么见解吗?谢谢