바운스/탄성 슬라이딩 효과가있는 ViewPager
을 표시하고 싶습니다. 나는 이것이 PageTransformer
과 BounceInterpolator
의 조합을 사용하여 가능하다고 생각합니다.ViewPager에서 탄성/바운스 애니메이션 효과를 얻는 가장 좋은 방법은 무엇입니까?
안녕하세요. how입니다. 지금까지 나는 이것을 달성하지 못했습니다. 문제는, 우리가 어떻게 여기 그림에 Interpolator
(어떤 종류의)을 가지고 않습니다되어
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);
}
}
}
:
PageTransformer
의 전형적인 예는 다음과 같이 될 것이다? ViewPager
님의 애니메이션에 대한 Animation
개체는 어디에서 가져 오지 않으므로 Interpolator
을 설정해야하나요?
이미 다음 게시물에 언급 한 :
세 번째 게시물에는 이러한 접근 방식에 대한 대답이 있지만 어떻게 자세하게 설명되어 있지는 않습니다.
BounceInterpolator
과 PageTransformer
을 어떻게 결합하는지 정확히 아는 사람이 있습니까? 이 은이이 문제에 대한 유기적이고 일관된 접근 방식 인 것으로 보이지만 전혀 가능하지 않습니까? 아니면 이에 대한 또 다른 논리적 인 해결책이 있습니까?
참고 :
N.B :
단순히 Interpolator
와 PageTransformer
조합하여 탄성/반송 애니메이션 효과를 달성 할 수 있어야하고, ViewPager
을 연장 할 필요없이. 다른 접근 방법도 환영합니다. 그러나 윤곽선이 아닌 코드와 함께 상세한 솔루션을 제공하십시오.
이 예가 좋을까요? https://github.com/chenupt/SpringIndicator – Stallion
viewpager를 사용자 정의하고 ontTouchEvent에서 순차적으로 재생되는 ValueAnimators 세트를 사용하여 listview를 조정합니다. – Piyush