在HS項目中,大佬覺得在閱讀的點按切換前后頁面的時候過快,有點晃眼,于是我再次查看源碼,找翻頁相關(guān)的代碼
直奔主題
- 控制翻頁動畫是在
FBReaderApp類的PageTurningOptions屬性中,PageTurningOptions屬性本身也是PageTurningOptions類型
public class PageTurningOptions {
public static enum FingerScrollingType {
byTap, byFlick, byTapAndFlick
}
public final ZLEnumOption<FingerScrollingType> FingerScrolling =
new ZLEnumOption<FingerScrollingType>("Scrolling", "Finger", FingerScrollingType.byTapAndFlick);
public final ZLEnumOption<ZLView.Animation> Animation =
new ZLEnumOption<ZLView.Animation>("Scrolling", "Animation", ZLView.Animation.slide);
public final ZLIntegerRangeOption AnimationSpeed =
new ZLIntegerRangeOption("Scrolling", "AnimationSpeed", 1, 1, 1);
public final ZLBooleanOption Horizontal =
new ZLBooleanOption("Scrolling", "Horizontal", true);
public final ZLStringOption TapZoneMap =
new ZLStringOption("Scrolling", "TapZoneMap", "");
}
- 在
PageTurningOptions中有一些動畫的設(shè)置方法,其中AnimationSpeed動畫速度的設(shè)置,通過ZLIntegerRangeOption實例進行設(shè)置,后邊參數(shù),是速速的最大值,最小值和默認(rèn)值,參看源碼可知,最終取值是取的三個值中最小的,且數(shù)值越大速度越快,所以我取三個值為同一個值,由于是int類型,我將值設(shè)置為最小1 - 具體設(shè)置
我們先獲取FBReaderApp類,然后獲取PageTurningOptions屬性,然后PageTurningOptions類中的這些屬性是可以通過getValue和setValue的方法進行設(shè)置的