您好我有一个ViewPager,我想启用HorizontalFadingEdge, 一切都有效,除了它只适用于寻呼机的左侧。 有没有办法让左右两者都达到预期的效果?
以下是一些相关摘要:
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
答案 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));
}
}
});