将Alpha页面转换器应用于ViewPager

时间:2019-07-16 22:01:11

标签: android android-viewpager transform

我正在实现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,但是随着我们执行滑动,它将会逐渐进步。有人可以帮助我提供正确的指针吗?如果有人可以帮助我提供示例代码,我将不胜感激。

谢谢。

1 个答案:

答案 0 :(得分:0)

您是否使用断点或日志检查位置值?也许与您的期望值不符?

您应该检查this library的代码,以了解其工作原理,它与pagetransformer一起使用