我正在实施viewpager转换器的地方,文本阿尔法应该慢慢从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个页面的time.Left &右侧页面部分显示文本alpha值到0.3f.Center页面文本的alpha值为1。我不想立即将alpha值设置为1,而是在我们执行滑动时它将是渐进式的。有没有人能帮我找到正确的指针?如果有人能帮助我编写示例代码,我将不胜感激。
谢谢。
发布于 2019-07-17 06:33:42
你用断点或日志检查位置的值了吗?也许它与您的期望值不符?
你应该检查一下this library的代码,看看它是如何工作的,它是用页面转换器编写的
https://stackoverflow.com/questions/57065999
复制相似问题