Android 在每次viewpager更改时显示动画

Android 在每次viewpager更改时显示动画,android,android-fragments,layout-inflater,Android,Android Fragments,Layout Inflater,我想在布局充气机的每个内容上显示动画。下面是我正在使用的代码,但问题是动画只显示在查看页面的第一页 到目前为止,我所理解的是,所有页面内容上的动画都会加载到位置0,但我可能错了 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = null;

我想在布局充气机的每个内容上显示动画。下面是我正在使用的代码,但问题是动画只显示在查看页面的第一页

到目前为止,我所理解的是,所有页面内容上的动画都会加载到位置0,但我可能错了

@Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            View v = null;
            if (position == 0) {

                Home.rel_footer.setVisibility(View.VISIBLE);

                v = inflater.inflate(R.layout.reward_points_circles, container,
                        false);

                YoYo.with(Techniques.ZoomIn).duration(5000)
                        .playOn(v.findViewById(R.id.circle_1));

                YoYo.with(Techniques.ZoomIn).duration(5000)
                        .playOn(v.findViewById(R.id.circle_2));

                YoYo.with(Techniques.ZoomIn).duration(5000)
                        .playOn(v.findViewById(R.id.circle_3));

            } else if (position == 1) {

                Home.rel_footer.setVisibility(View.GONE);

                v = inflater.inflate(R.layout.qrcode_scanner_promotion, container,
                        false);

                YoYo.with(Techniques.Landing).duration(5000)
                        .playOn(v.findViewById(R.id.imgView_iphone));

                YoYo.with(Techniques.Landing).duration(5000)
                        .playOn(v.findViewById(R.id.imgView_ipad));

            } else if (position == 2) {

                Home.rel_footer.setVisibility(View.GONE);

                v = inflater.inflate(R.layout.deals_promotion, container, false);

                YoYo.with(Techniques.ZoomIn).duration(5000)
                        .playOn(v.findViewById(R.id.imgView_iphone_left));

                YoYo.with(Techniques.ZoomIn).duration(5000)
                        .playOn(v.findViewById(R.id.imageView_iphone_front));

                YoYo.with(Techniques.ZoomIn).duration(5000)
                        .playOn(v.findViewById(R.id.imgView_iphone_right));

            }

            return v;
        }

在我看来,如果您希望在每个页面上看到动画的更改,则不应在
onCreateView
中应用动画。当用户更改了一个寻呼机(切换到另一个页面)后,您应该使用界面并在那个里应用动画

一个简单的代码片段,让您开始

mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener(){

    @Override
    public void onPageSelected (int position){
        // Apply animations here w.r.t the position
    }

    ... Other overridden methods ...
});
mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener(){

    @Override
    public void onPageSelected (int position){
        // Apply animations here w.r.t the position
    }

    ... Other overridden methods ...
});