Open 24suixinsuoyu opened 1 year ago
类 BannerManager 中,重写 setMultiPageStyle() 方法:
public void setMultiPageStyle(boolean overlap, float scale, float alpha) { removeDefaultPageTransformer(); if (overlap && Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { mDefaultPageTransformer = new OverlapPageTransformer(mBannerOptions .getOrientation(), scale, 0f, alpha, 0); } else { mDefaultPageTransformer = new ScaleInTransformer(scale); } mCompositePageTransformer.addTransformer(mDefaultPageTransformer); }
类 OverlapPageTransformer 中,重写 transformPage() 方法的 alpha 部分:
if (unSelectedItemAlpha != 1f) { alpha = when { position < 0 -> { abs((1 - unSelectedItemAlpha) * position + 1) } else -> { abs((unSelectedItemAlpha - 1) * position + 1) } } }
类 BannerManager 中,重写 setMultiPageStyle() 方法:
类 OverlapPageTransformer 中,重写 transformPage() 方法的 alpha 部分: