Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.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
Java 如何在VIewPager中使用pageTransformer转换一个或多个片段_Java_Android_Android Fragments_Android Viewpager_Android Pagetransformer - Fatal编程技术网

Java 如何在VIewPager中使用pageTransformer转换一个或多个片段

Java 如何在VIewPager中使用pageTransformer转换一个或多个片段,java,android,android-fragments,android-viewpager,android-pagetransformer,Java,Android,Android Fragments,Android Viewpager,Android Pagetransformer,我使用ViewPager和Fragments创建了一个android应用程序。然后我想使用动画在彼此之间变换一些片段。我选择 PageTransformer用于此目的。我将PageTransformer与ViewPager一起使用 此mypageTransformer代码带有MainActivity类 public class MainActivity extends FragmentActivity { private ViewPager viewPager; private

我使用
ViewPager
Fragments
创建了一个android应用程序。然后我想使用动画在彼此之间变换一些片段。我选择

PageTransformer
用于此目的。我将
PageTransformer
ViewPager
一起使用

此my
pageTransformer
代码带有MainActivity

public class MainActivity extends FragmentActivity {

    private ViewPager viewPager;
    private int counterNumber=-1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        viewPager=(ViewPager)findViewById(R.id.viewPager);
        viewPager.setAdapter(new MyPagerAdapter2(getSupportFragmentManager()));
        viewPager.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                if (viewPager.getCurrentItem() == 0) {
                    counterNumber=0;
                    return true;
                }

                if (viewPager.getCurrentItem() == 1) {
                    counterNumber=1;
                    return true;
                }

                if (viewPager.getCurrentItem() == 2) {
                    counterNumber=2;
                    return true;
                }

                if (viewPager.getCurrentItem() == 3) {
                    counterNumber=3;
                    return true;
                }

                if (viewPager.getCurrentItem() == 4) {
                    counterNumber=4;
                    return true;
                }

                return false;
            }
        });

        viewPager.setPageTransformer(false, new ViewPager.PageTransformer() {
            @Override
            public void transformPage(View page, float position) {

                page.setRotation(position*-100);

            }
        });

    }

    private class MyPagerAdapter2 extends FragmentPagerAdapter {


        public MyPagerAdapter2(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int pos) {
            switch(pos) {

                case 0: counterNumber=0; return FirstFragment1.newInstance("FirstFragment_1");
                case 1: counterNumber=1;return SecondFragment1.newInstance("SecondFragment_1");
                case 2: counterNumber=2;return ThirdFragment1.newInstance("ThirdFragment_1");
                case 3: counterNumber=3;return FourthFragment1.newInstance("FourthFragment_1");
                case 4: counterNumber=4;return FifthFragment1.newInstance("FifthFragment_1");
                default: return FirstFragment1.newInstance("DefaultFragment_1");
            }
        }

        @Override
        public int getCount() {
            return 5;
        }
    }

    public void setCurrentItem(int which) {
        if(viewPager != null && which >= 0 && which <= 4) {
            viewPager.setCurrentItem(which);
        }
    }
}
public类MainActivity扩展了FragmentActivity{
私人视页机视页机;
私有整数计数器=-1;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewPager=(viewPager)findViewById(R.id.viewPager);
setAdapter(新的MyPagerAdapter2(getSupportFragmentManager());
viewPager.setOnTouchListener(新视图.OnTouchListener(){
@凌驾
公共布尔onTouch(视图v,运动事件){
如果(viewPager.getCurrentItem()==0){
计数器编号=0;
返回true;
}
如果(viewPager.getCurrentItem()==1){
计数器编号=1;
返回true;
}
如果(viewPager.getCurrentItem()==2){
计数器数=2;
返回true;
}
如果(viewPager.getCurrentItem()==3){
计数器数=3;
返回true;
}
如果(viewPager.getCurrentItem()==4){
计数器数=4;
返回true;
}
返回false;
}
});
viewPager.setPageTransformer(false,新建viewPager.PageTransformer(){
@凌驾
公共页面(查看页面、浮动位置){
第页设置旋转(位置*-100);
}
});
}
私有类MyPagerAdapter2扩展了FragmentPageRadapter2{
公共MyPagerAdapter2(碎片管理器fm){
超级(fm);
}
@凌驾
公共片段getItem(int-pos){
开关(pos){
案例0:计数器编号=0;返回FirstFragment1.newInstance(“FirstFragment1”);
案例1:计数器编号=1;返回SecondFragment1.newInstance(“SecondFragment1”);
案例2:计数器编号=2;返回ThirdFragment1.newInstance(“ThirdFragment1”);
案例3:counterNumber=3;返回FourthFragment1.newInstance(“FourthFragment1”);
案例4:计数器编号=4;返回FifthFragment1.newInstance(“FifthFragment1”);
默认值:返回FirstFragment1.newInstance(“DefaultFragment1”);
}
}
@凌驾
public int getCount(){
返回5;
}
}
public void setCurrentItem(int which){
if(viewPager!=null&&which>=0&&which