Пользовательская анимация путем переопределения метода transformPage (View view, float position) класса PageTransformer View Pager - PullRequest
2 голосов
/ 22 апреля 2019

Я хочу, чтобы анимация моего пейджера была как на картинке ниже слева и справа.У меня есть 3 страницы.средний не должен двигаться.когда я буду двигаться влево или вправо только влево или правая страница будет прокручиваться с небольшим затуханием на среднем экране.

Я делаю анимацию с переопределением метода transformPage (View view, float position) класса PageTransformer в пейджере представления

image image

 private final PageTransformer mPageTransformer2 = new PageTransformer() {
    @Override
    public void transformPage(View view, float position) {
        Log.d("CalViewPager", "transformPage: " + position );

        if (position < 0.0f ) {
            // Pin the left page to the left side.
            view.setTranslationX(getWidth() * -position);
            view.setAlpha(Math.max(1.0f - position, 0.0f));
        } else{
            // Use the default slide transition when moving to the next page.
            view.setTranslationX(0.0f);
            view.setAlpha(1.0f);
        }


    };

Над кодом хорошо работает с правой стороны, и я пытаюсь сделать с левой стороны также.Итак, я пытаюсь понять значение позиции метода transform (View view, float position).но я не могу понять, как это меняется с видом?

Что я нашел, если поменять местами правую сторону, каждое значение позиции увеличивается на 1, а если слева, то уменьшается на 1. Но как узнать, какой вид имеет какое значение позиции?

Примечание: - пожалуйста, прокомментируйте, если вы не получили мой вопрос или вам нужно больше объяснений

...