I'm using ViewPager2 with ListAdapter. Every time dataset get changes, item of viewpager2 displays an animation. Is there any way to disable it? In recyclerview we can disable by setting recyclerview.itemAnimator = null
but what about viewpager2?
Found a workaround to this problem: setting an empty PageTransformer
managementView.pager.setPageTransformer { p0, p1 -> }
By looking at the ViewPager2 implementation this unfortunately seems to be the only way to set the internal RecyclerView's animator to null.
public void setPageTransformer(@Nullable ViewPager2.PageTransformer transformer) {
if (transformer != null) {
if (!this.mSavedItemAnimatorPresent) {
this.mSavedItemAnimator = this.mRecyclerView.getItemAnimator();
this.mSavedItemAnimatorPresent = true;
}
this.mRecyclerView.setItemAnimator((ItemAnimator)null);
} else if (this.mSavedItemAnimatorPresent) {
this.mRecyclerView.setItemAnimator(this.mSavedItemAnimator);
this.mSavedItemAnimator = null;
this.mSavedItemAnimatorPresent = false;
}
if (transformer != this.mPageTransformerAdapter.getPageTransformer()) {
this.mPageTransformerAdapter.setPageTransformer(transformer);
this.requestTransform();
}
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.