片段在ViewPager上可见时启动动画

tho*_*aus 5 android onstart fragment android-viewpager

我正在使用ViewPager和FragmentStatePagerAdapter,我希望在片段可见且仅在可见时才在片段中启动动画.问题是当片段是用户当前看到的片段之后的片段时动画开始.我将动画代码从"onActivityCreated"片段函数移动到"onStart"片段函数,甚至移动到"onResume"片段函数,但同样的事情发生了.

基本上我需要等待片段成为用户看到的用于启动某些代码的页面.我怎样才能做到这一点?

提前致谢.

tho*_*aus 8

我做到了.

    CustomOnPageChangeListener page_listener = new CustomOnPageChangeListener();
    view_pager.setOnPageChangeListener(page_listener);

    ...

    private static class CustomOnPageChangeListener extends SimpleOnPageChangeListener
    {
        @Override
        public void onPageSelected(int position)
        {
            if (position == fragment_position)
            {
                 MyFragment fragment = (MyFragment) fragment_pager_adapter.instantiateItem(view_pager, fragment_position);
                 fragment.startAnimation();
            }

            super.onPageSelected(position);
        }
    }
Run Code Online (Sandbox Code Playgroud)

当然,您必须编写一个startAnimation()函数,将动画启动到MyFragment代码中.