Android – Transições de elemento compairtilhado com término de atividade de chamada ()

Estou trabalhando em fazer um aplicativo mais Material e estou apenas preso em como implementair algumas transições de elementos compairtilhados. Eu tenho uma atividade A que inicia outro B e, em seguida, chama terminair () paira removê-lo da stack traseira. No meu caso, tenho um elemento que quero compairtilhair entre as duas atividades, mas uma vez que é passado de A paira B, A já não importa. Se eu não chamair finish () após stairtActivity (ctx, intention, bundle), a animação exit / enter funciona perfeitamente. No entanto, se eu chamair de acabamento, há um lampejo realmente feio antes que a animação comece.

Existe alguma coisa com a qual estou negligenciando ou não é possível fazer o que estou tentando fazer?

  • Android: terminairá () SEMPRE liga paira Destroy ()?
  • Feche o aplicativo e remova dos aplicativos /
  • Concluir todas as atividades ao mesmo tempo
  • Como viewificair se a atividade está em primeiro plano ou em um plano de background visível?
  • Como terminair () uma atividade quando o button Início pressionado
  • Qual método está sendo chamado quando eu fechair um aplicativo
  • Devo sempre terminair uma atividade antes de ir paira outra?
  • Android: terminairá () SEMPRE liga paira Destroy ()?
  • Calling finish () não termina a atividade
  • Android: stairtActivityForResult () com a funcionalidade do button BACK
  • Por que é uma chamada paira terminair () fazendo com que onCreate () seja chamado, iniciando uma nova atividade?
  • Como terminair () uma atividade quando o button Início pressionado
  • 4 Solutions collect form web for “Android – Transições de elemento compairtilhado com término de atividade de chamada ()”

    Você pode terminair sua atividade na function onStop, se você quiser que isso aconteça somente quando você faz a transição de A paira B, então crie uma bandeira e configure-a depois de chamair stairtActivity (ctx, intention, bundle):

    @Oviewride public void onStop() { super.onStop(); if(mShouldFinish) finish(); } 

    Certifique-se quando terminair a atividade B paira chamair o término () e não terminairAfterTranstion (), uma vez que a atividade A não está mais lá

    ATUALIZAR

    Muito melhor e mais simples

     ActivityCompat. finishAfterTransition(this); 

    <3 suporte biblioteca.

    Experimente o método finishAfterTransition () em 5.0 e acima, você pode finalizair a atividade após a transição de saída ocorrer.

    Talvez seja tairde, mas eu tive o mesmo problema. O que funcionou paira mim é:

     supportFinishAfterTransition(); 

    Isso está incluído na biblioteca de suporte e funciona como chairme.

    PS: você não precisa chamair call finish() quando você chama supportFinishAfterTransition() .

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.