我想顯示具有反彈/彈性滑動效果的ViewPager
。我想這可以使用PageTransformer
和BounceInterpolator
的某種組合。在ViewPager中實現彈性/反彈動畫效果的最佳方式是什麼?
我不知道的是如何。到目前爲止,我一直無法做到這一點。
一個PageTransformer
的一個典型例子是這樣的:
public class TypicalPageTransformer implements ViewPager.PageTransformer {
@Override
public void transformPage(View view, float position) {
if (position < -1) { // [-Infinity,-1)
// This page is way off-screen to the left.
view.setAlpha(0);
} else if (position <= 0) { // [-1,0]
// Use the default slide transition when moving to the left page
view.setAlpha(1);
view.setTranslationX(0);
view.setScaleX(1);
view.setScaleY(1);
} else if (position <= 1) { // (0,1]
// Fade the page out.
view.setAlpha(1 - position);
// Counteract the default slide transition
view.setTranslationX(pageWidth * -position);
// Scale the page down (between MIN_SCALE and 1)
float scaleFactor = MIN_SCALE
+ (1 - MIN_SCALE) * (1 - Math.abs(position));
view.setScaleX(scaleFactor);
view.setScaleY(scaleFactor);
} else { // (1,+Infinity]
// This page is way off-screen to the right.
view.setAlpha(0);
}
}
}
的問題是,我們如何把一個Interpolator
(任何種類的)到這裏了嗎? 我們從哪裏獲得ViewPager
動畫的Animation
對象,以便爲其設置Interpolator
?
我已經提到了以下職位:
第三篇文章有一個答案,提到這種方法,但沒有提供任何細節如何。
有誰知道我們怎樣才能把BounceInterpolator
和PageTransformer
結合起來?這似乎是一個有機和一致的方法來解決這個問題,但它甚至可能呢?還是有另一個合乎邏輯的解決方案呢?
參考文獻:
N.B:
它應該有可能實現的彈性/彈跳動畫效果簡單地通過組合Interpolator
和PageTransformer
,而無需延長ViewPager
。其他方法也是受歡迎的,但請提供代碼的詳細解決方案,而不僅僅是一個大綱。
這個例子會保持好嗎? https://github.com/chenupt/SpringIndicator – Stallion
自定義viewpager並在onTTouchEvent中使用一組正在按順序播放的ValueAnimators縮放列表視圖。 – Piyush