ingenious
ingenious

Reputation: 772

Pages confilicts with keyboard when ViewPager.pageTransformer use view.setTranslationY()

I have a problem when using view.setTranslationY() in ViewPager.pageTransformer

When page transformed to other page while soft keyboard is open, two issue occurs:

1- focus rest on old page(is not important)

2- if keyboard hide in new page, user can't tap to area of under keyboard(it seams transition fixed to top of keyboard)

transformer class:

public class VerticalPageTransformer implements ViewPager.PageTransformer {
    @Override
    public void transformPage(View view, float position) {

        final float width = view.getWidth();
        final float height = view.getHeight();

        view.setTranslationY(0);
        view.setAlpha(position <= -1f || position >= 1f ? 0f : 1f);

        view.setTranslationX(width * -position);
        float yPosition = position * height;
        view.setTranslationY(yPosition);
    }
}

Upvotes: 1

Views: 41

Answers (1)

ingenious
ingenious

Reputation: 772

It fixed by getting height from display screen:

final float height = Resources.getSystem().getDisplayMetrics().heightPixels;

Upvotes: 1

Related Questions