android - fragments - ¿Desea fragmentar la transición del elemento compartido con add() en lugar de reemplazar()?
overridependingtransition fragment (1)
Estoy tratando de hacer una transición de elementos compartidos entre fragmentos, todo funciona bien cuando se usa replace()
para agregar el segundo fragmento, sin embargo, en la base de código se usa mucho add()
, pero cuando se usa eso, la transición solo se salta a los valores finales
¿Es posible tener la transición entre los fragmentos agregados? Gracias
@Override
public void onClick(View v) {
setSharedElementReturnTransition(TransitionInflater.from(getActivity())
.inflateTransition(android.R.transition.move));
FragmentB secondFragment = new FragmentB();
secondFragment.setSharedElementEnterTransition(TransitionInflater.from(getActivity())
.inflateTransition(android.R.transition.move));
getFragmentManager().beginTransaction()
.add(R.id.container, secondFragment)
.addToBackStack(null)
.addSharedElement(imageView, imageView.getTransitionName())
.commit();
}
ya que el sistema no está pasando por la OnPause desde el primer fragmento no va a suceder. Cuando se agrega un nuevo fragmento, el nuevo fragmento aparece en la parte superior del fragmento anterior.
¡Pero puedes fingirlo aunque tendrás más código!
Hay una muestra a continuación:
https://github.com/Kisty/FragmentTransitionExample
y un video que no está totalmente relacionado pero que te ayuda a obtener la idea: