Animar el cambio de diseño de la hoja inferior

En mi aplicación utilizo una hoja inferior (de la biblioteca de soporte) que funciona muy bien. Ahora me gustaría animar un cambio de diseño mientras se arrastra la hoja. Para esto he creado una subclase de BottomSheetCallback (esto es normaly una clase interna de un Fragmento por lo que no todos los objetos utilizados en este calss se inicializan aquí):

 public class MyBehavior extends BottomSheetBehavior.BottomSheetCallback { Transition transition; float lastOffset = 0; Scene scene; public PlayerBehavior() { TransitionInflater inflater = TransitionInflater.from(getContext()); transition = inflater.inflateTransition(R.transition.player); //transition.setDuration(300); scene = fullLayout; transition.setInterpolator(new Interpolator() { @Override public float getInterpolation(float v) { return lastOffset; } }); } @Override public void onStateChanged(@NonNull View bottomSheet, int newState) { if(newState == BottomSheetBehavior.STATE_DRAGGING) { TransitionManager.go(scene, transition); } } @Override public void onSlide(View bottomSheet, final float slideOffset) { scene = (slideOffset > lastOffset) ? smallLayout : fullLayout; lastOffset = slideOffset; } } 

Como se puede ver también he creado dos Scene de diferentes archivos de diseño y una Transition personalizada para animar entre las escenas con el TransitionManager . Mi problema es que la Transition debe basarse en el parámetro slideOffset (en el rango de 0-1), pero el TransitionManager utiliza la clase de Animation en el fondo que normalmente se basa en el tiempo en Android.

Intenté crear el Intapolator personalizado pero esto no funciona correctamente. Entonces, ¿cómo puedo crear una Transition que se basa en una variable externa y no a tiempo?

  • Transición de escena con elementos de héroe lanza Capa supera el máximo. Dimensiones soportadas por la GPU
  • Transición del elemento de la lista para expandirse en detalles como Google Inbox
  • La transición de retorno no funciona correctamente cuando se utilizan fragmentos de transiciones compartidas
  • OnEnterAnimationComplete () no se llama después de una transacción de actividad
  • La transición de entrada en un fragmento con un elemento compartido se dirige al elemento compartido
  • ¿Alguien sabe cómo usar onActivityReenter correctamente?
  • Transición de elementos compartidos: actividad en fragmento anidado en otra actividad
  • Transición de elementos compartidos de Android, posición inicial incorrecta
  • CollapsingToolbarLayout título como elemento compartido de transición
  • Elementos compartidos y transiciones de contenido en Fragmentos
  • Cómo implementar fragmento resizableable por arrastre de usuario (no animación de transición predefinida)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.