当ViewPager.pageTransformer使用view.setTranslationY()时,页面与键盘密切相关

时间:2017-09-10 21:10:17

标签: android android-viewpager

view.setTranslationY()

中使用ViewPager.pageTransformer时出现问题

当软键盘打开时页面转换为其他页面时,会出现两个问题:

1-关注旧页面(不重要)

2-如果键盘隐藏在新页面中,用户无法点击键盘下方的区域(它的接缝过渡固定在键盘顶部)

变压器类:

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

1 个答案:

答案 0 :(得分:1)

通过从显示屏获取高度来修复:

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