7

我有一个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

那么这里发生了什么,解决方法是什么?

4

0 回答 0