アニメーションはこの関数呼び出しの後に終了したときに、私は情報を希望:アンドロイドviewpagerアニメーション
はviewPager.setCurrentItem(2, true);
誰もがこれを実現する方法を知っていますか?あなたはOnPageChangeListenerを使用することができます
アニメーションはこの関数呼び出しの後に終了したときに、私は情報を希望:アンドロイドviewpagerアニメーション
はviewPager.setCurrentItem(2, true);
誰もがこれを実現する方法を知っていますか?あなたはOnPageChangeListenerを使用することができます
は...
新しいページが選択されているviewPager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
// The code you want to run when scrolling is complete
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {}
@Override
public void onPageScrollStateChanged(int arg0) {}
});
、onPageSelected()が呼び出されます。
私は同じ問題を抱えています。 私の結論は次のとおりです。
ページが実際に変更されると、onPageSelectedが呼び出されます。 アニメーションの前に呼び出されます。
アニメーションが停止すると、onPageScrollStateChangedが状態SCROLL_STATE_IDLEで呼び出されます。
この2つの関数呼び出しを組み合わせて関数を呼び出す必要があります。
Good Luck。
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;
}
}
}
onPageSelected()から - このメソッドは、新しいページが選択されると呼び出されます。 **アニメーションは必ずしも完全ではありません**。 http://developer.android.com/reference/android/support/v4/view/ViewPager.OnPageChangeListener.html#onPageSelected(int) – djdmbrwsk