Ich möchte informiert werden, wenn die Animation nach dieser Funktionsaufruf endet:Android viewpager Animation
viewPager.setCurrentItem(2, true);
Wer weiß, wie dies zu erreichen?
Ich möchte informiert werden, wenn die Animation nach dieser Funktionsaufruf endet:Android viewpager Animation
viewPager.setCurrentItem(2, true);
Wer weiß, wie dies zu erreichen?
Sie einen OnPageChangeListener verwenden können ..
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) {}
});
Wenn eine neue Seite ausgewählt wird, onPageSelected() wird aufgerufen.
Ich bin auf das gleiche Problem gestoßen. Folgendes ist meine Schlussfolgerung:
Wenn die Seite tatsächlich geändert wird OnPageSelected wird aufgerufen. Aber es heißt vor der Animation.
Wenn die Animation beendet wurde, wird onPageScrollStateChanged mit dem Status SCROLL_STATE_IDLE aufgerufen.
Also müssen Sie diese beiden Funktionsaufrufe kombinieren, um Ihre Funktion aufgerufen zu bekommen.
Viel Glück.
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;
}
}
}
Aus der onPageSelected() -Dokumentation - Diese Methode wird aufgerufen, wenn eine neue Seite ausgewählt wird. ** Animation ist nicht unbedingt vollständig **. http://developer.android.com/reference/android/support/v4/view/ViewPager.OnPageChangeListener.html#onPageSelected (in) – djdmbrwsk