2017-09-10 3 views
1

J'ai un problème lors de l'utilisation view.setTranslationY() dans ViewPager.pageTransformerPages confilicts avec clavier lorsque ViewPager.pageTransformer utiliser view.setTranslationY()

Lorsque la page transformé en autre page tout clavier souple est ouvert, deux problème se produit:

1- accent reste sur la page ancienne (n'est pas important)

2- si cache du clavier dans une autre page, l'utilisateur ne peut pas espérer à la zone de sous clavier (il coutures transition fixée au dessus du clavier)

tr ansformer classe:

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

Répondre

1

Il fixe en obtenant la hauteur de l'écran d'affichage:

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