[英]Android animation with ViewPager offset
比方说,我有查看X
上ViewPager的顶部。 X的宽度和高度为50dp。 现在,当我将ViewPager从第一页滚动到第二页时,我希望X相对于当前滚动位置降低其宽度和高度,并在ViewPager完全滚动到第二个位置后以最小20dp的高度和宽度结束页。
我正在尝试使用onPageScrolled
的positionOffset
值,但似乎无法弄清楚它是如何工作的并将其转换为像素。
ViewPager.addOnPageListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
System.out.println(positionOffset);
}
});
谢谢,感谢您的帮助。
对于每页( position
), positionOffset
将其值从0更改为1。 根据您的示例,您可以将视图的比例从100%更改为40%。 使用positionOffset
作为x,该函数将为y = -0.6x + 1。
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
if(position == 0) {
yourView.setScaleX((float)(-0.6 * positionOffset) + 1);
yourView.setScaleY((float)(-0.6 * positionOffset) + 1);
} else {
yourView.setScaleX(0.4f);
yourView.setScaleY(0.4f);
}
}
[...]
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.