我有一个ViewPager
正在使用PageTransformer
. 每当我滚动时,我都会使用PageTransformer
来动画我里面卡片的高度。ViewPager
这是代码:
mViewPager.setPageTransformer(false, new ViewPager.PageTransformer() {
@Override
public void transformPage(View page, float position) {
View card = ((ViewGroup)page).getChildAt(0);
CardView cardView = (CardView) card;
float absoluteValue = Math.abs(position);
if (absoluteValue < 1.3f) {
float scale = 1.3f - absoluteValue;
float scaleElevation = scale * 10f;
cardView.setCardElevation(scaleElevation);
//cardView.setElevation(scaleElevation);
Log.d(TAG, "scaleElevation: " + scaleElevation + ", position: " + position);
}
}
});
非常坦率的。现在,发生的情况是,当您滚动时,海拔“动画”使用定义的比例因子和滚动中的位置。但是会发生什么,当您完成滚动到新页面时,阴影会产生一种“捕捉”效果。
这是一个清楚地显示问题的视频:https ://gfycat.com/FlakyWarlikeEgg
那么这里发生了什么,解决方法是什么?