ViewPager的水平淡入仅在右侧

时间:2016-04-14 13:40:34

标签: android android-viewpager

您好我有一个ViewPager,我想启用Horizo​​ntalFadingEdge, 一切都有效,除了它只适用于寻呼机的左侧。 有没有办法让左右两者都达到预期的效果?

以下是一些相关摘要:

XML:

 <android.support.v4.view.ViewPager
 android:id="@+id/view_pager_preview"
 android:layout_width="match_parent"
 android:layout_height="96dp">

设置:

 pager_preview.setClipToPadding(false);
 pager_preview.setPageMargin(-50);
 pager_preview.setHorizontalFadingEdgeEnabled(true);
 pager_preview.setFadingEdgeLength(20);

有关于此的任何想法?

*编辑:

我在这里找到了类似问题的答案: fading edges working only on top and left

1 个答案:

答案 0 :(得分:-2)

试试这个,

viewPager.setPageTransformer(false, new ViewPager.PageTransformer() {
            @Override
            public void transformPage(View view, float position) {
                view.setTranslationX(view.getWidth() * -position);

                if(position <= -1.0F || position >= 1.0F) {
                    view.setAlpha(0.0F);
                } else if( position == 0.0F ) {
                    view.setAlpha(1.0F);
                } else {
                    // position is between -1.0F & 0.0F OR 0.0F & 1.0F
                    view.setAlpha(1.0F - Math.abs(position));
                }
            }
        });