Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用ViewPager的水平淡入仅在右侧_Android_Android Viewpager - Fatal编程技术网

Android 使用ViewPager的水平淡入仅在右侧

Android 使用ViewPager的水平淡入仅在右侧,android,android-viewpager,Android,Android Viewpager,你好,我有一个ViewPager,我想启用HorizontalFadingEdge, 除了只对寻呼机的左侧有效外,其他一切都可以找到。 有没有一种方法可以让左右两边都达到想要的效果 以下是一些相关的片段: XML: 有什么想法吗 *编辑: 我在这里找到了我问题的答案: 试试这个 viewPager.setPageTransformer(false, new ViewPager.PageTransformer() { @Override public

你好,我有一个ViewPager,我想启用HorizontalFadingEdge, 除了只对寻呼机的左侧有效外,其他一切都可以找到。 有没有一种方法可以让左右两边都达到想要的效果

以下是一些相关的片段:

XML:

有什么想法吗

*编辑:

我在这里找到了我问题的答案: 试试这个

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));
                }
            }
        });