Qual é a melhor maneira de obter um efeito de animação elástica / rebatida no ViewPager?

Eu quero exibir umViewPager com um efeito deslizante de salto / elástico. Suponho que isso seja possível usando alguma combinação de umPageTransformer e umBounceInterpolator.

O que eu não sei équão. Até agora, fui incapaz de conseguir isso.

Um exemplo típico dePageTransformer seria algo como isto:

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);
        }
    }
}

A questão é: como trazemos umaInterpolator (de qualquer tipo) na imagem aqui?De onde tiramos oAnimation objeto para oViewPageranimação de, para definir umInterpolator para isso?

Eu já me referi aos seguintes posts:

android VIewpager Como obter o efeito vinculado.

Como desativar a paginação deslizando com o dedo no ViewPager, mas ainda assim pode deslizar programaticamente?

Adicione o efeito "Rubber Band" no android enquanto altera o plano de fundo do aplicativo.

O terceiro post tem uma resposta que menciona exatamente essa abordagem, mas não fornece nenhum detalhe sobre como.

Alguém sabe exatamente como vamos combinar umBounceInterpolator com umPageTransformer? esteparece ser uma abordagem orgânica e coerente para esse problema, mas é mesmo possível? Ou existe outra solução lógica para isso?

Referências:

Personalize oViewPager comPageTransformer.

N.B:

istodevemos possível obter um efeito de animação elástica / de salto simplesmente combinando umInterpolator e umPageTransformere sem precisar estender oViewPager. Outras abordagens também são bem-vindas, mas forneça uma solução detalhada com código, não apenas um esboço.

questionAnswers(3)

yourAnswerToTheQuestion