我将 ViewPager 与 FragmentStatePagerAdapter 一起使用,我想在该 fragment 可见且仅当它可见时在该 fragment 中启动动画。 问题是当 fragment 是用户当前看到的 fragment 之后的 fragment 时动画开始。 我将动画代码从“onActivityCreated” fragment 函数移动到“onStart” fragment 函数,甚至移动到“onResume” fragment 函数,但同样的事情发生了。
基本上我需要等待 fragment 成为用户看到的页面才能启动一些代码。我该怎么做?
提前致谢。
最佳答案
我做到了。
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);
}
}
当然,您必须编写一个 startAnimation() 函数来将动画启动到 MyFragment 代码中。
关于android - 当 fragment 在 ViewPager 上可见时开始动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11673302/