我正在实现ViewPager Transformer,其中,当我们在viewpager中滑动时,Text Alpha应该缓慢地从0.3f(未选择页面)-1.0f(选择页面)转换。
这是所需的输出。 Viewpager Transformation image
由于我是Android的新手,所以我尝试了以下方法,基本上我对适用的公式感到困惑。
public class AlphaTextTransformer implements ViewPager.PageTransformer {
public void transformPage(@NonNull View view, float position) {
int pageWidth = view.getWidth();
if (position < -1) { // [-Infinity,-1)
// This page is way off-screen to the left.
view.setAlpha(0.3 f);
} else if (position <= 0) { // [-1,0]
// Use the default slide transition when moving to the left page
view.setAlpha(0.3 f);
} else if (position <= 1) { // (0,1]
// Fade the page out.
view.setAlpha(0.3 f + Math.abs(position));
} else { // (1,+Infinity]
// This page is way off-screen to the right.
view.setAlpha(0.3 f);
}
}
}
我一次在屏幕上显示3页。左右页面部分显示为Text alpha值为0.3f。Center页面文本的alpha值为1。我不想立即将alpha值设置为1,但是随着我们执行滑动,它将会逐渐进步。有人可以帮助我提供正确的指针吗?如果有人可以帮助我提供示例代码,我将不胜感激。
谢谢。