Android viewpager 动画

标签 android animation android-viewpager

我想在这个函数调用后动画结束时得到通知:

viewPager.setCurrentItem(2, true);

有谁知道如何做到这一点?

最佳答案

我遇到了同样的问题。 以下是我的结论:

当页面实际更改时,将调用 onPageSelected。 但它是在动画之前调用的。

当动画停止时,onPageScrollStateChanged 将被调用,状态为 SCROLL_STATE_IDLE。

所以你必须结合这两个函数调用来调用你的函数。

祝你好运。

private class PageChangeListener implements OnPageChangeListener {

    @Override
    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
   }

    @Override
    public void onPageSelected(int position) {
        isPageChanged = true;
    }

    @Override
    public void onPageScrollStateChanged(int state) {
        switch (state) {
        case ViewPager.SCROLL_STATE_IDLE:
            if (isPageChanged) {
                updateCurrentPage();//this will be called when animation ends
                isPageChanged = false;
            }
            break;
        case ViewPager.SCROLL_STATE_DRAGGING:
            break;
        case ViewPager.SCROLL_STATE_SETTLING:
            break;
        }
    }
}

关于Android viewpager 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10892403/

相关文章:

android - Executors.newFixedThreadPool(size) 是要考虑 CPU 内核,还是我应该考虑。值得吗?

java - 自定义 Exoplayer 播放和暂停按钮

android - ViewPagerIndicator 和 setOnPageChangeListener

java - ItemAnimator如何安排动画一个接一个地开始

android - PagerAdapter 类被多次调用

Android ViewPager 上一页和下一页可见吗?

android - 如何在 Android 中重置媒体播放器的 SeekBar

android - 如何在 Android 上为单个联系人设置铃声?

javascript - 滚动顶部();动画问题

ios - 添加动画以查看