Android 使用ViewPager的水平淡入仅在右侧
你好,我有一个ViewPager,我想启用HorizontalFadingEdge, 除了只对寻呼机的左侧有效外,其他一切都可以找到。 有没有一种方法可以让左右两边都达到想要的效果 以下是一些相关的片段: XML: 有什么想法吗 *编辑: 我在这里找到了我问题的答案: 试试这个Android 使用ViewPager的水平淡入仅在右侧,android,android-viewpager,Android,Android Viewpager,你好,我有一个ViewPager,我想启用HorizontalFadingEdge, 除了只对寻呼机的左侧有效外,其他一切都可以找到。 有没有一种方法可以让左右两边都达到想要的效果 以下是一些相关的片段: XML: 有什么想法吗 *编辑: 我在这里找到了我问题的答案: 试试这个 viewPager.setPageTransformer(false, new ViewPager.PageTransformer() { @Override public
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));
}
}
});
viewPager.setPageTransformer(false,新的viewPager.PageTransformer(){
@凌驾
公共页面(视图、浮动位置){
view.setTranslationX(view.getWidth()*-位置);
如果(位置=1.0F){
视图。setAlpha(0.0F);
}否则如果(位置==0.0F){
视图。setAlpha(1.0F);
}否则{
//位置介于-1.0F和0.0F或0.0F和1.0F之间
视图.setAlpha(1.0F-数学abs(位置));
}
}
});
很有趣,但当我添加你的代码时,片段会从后面消失。我的意思是,它们都是用指定的alpha分层的,在滑动时只需到达前面。也许可以解释一下这段代码的作用。它只是在页面滑动时设置一个alpha值。好的,你知道为什么这段代码会改变片段的位置吗?
pager_preview.setClipToPadding(false);
pager_preview.setPageMargin(-50);
pager_preview.setHorizontalFadingEdgeEnabled(true);
pager_preview.setFadingEdgeLength(20);
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));
}
}
});