Estou usando overridePendingTransition para quando minha atividade é criada e funciona bem. Posso ver que o fade in funciona muito bem, mas quando tento animar o acabamento da atividade, ainda estou fazendo o slide padrão da direita para a esquerda.
Tentei primeiro definir a animação de saída quando inicio a atividade da seguinte maneira:
Intent myIntent = new Intent(a, SkdyAlert.class);
myIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
a.startActivity(myIntent);
if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.DONUT) {
AnimationHelper.overridePendingTransition(a, R.anim.fadein, R.anim.fadeout);
}
Então eu tentei fazer isso quando terminar a atividade também
okBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
finish();
if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.DONUT) {
AnimationHelper.overridePendingTransition(activity, 0, R.anim.fadeout);
}
}
});
Mas nenhuma dessas abordagens impedirá o slide da "direita para a esquerda" para a animação de saída. Alguma ideia do que estou fazendo de errado?
android
animation
android-activity
b-ryce
fonte
fonte
R.anim.nothing
?finish()
método para evitar transições em todos os casos (botão Voltar pressionado, como exemplo):@Override public void finish() { super.finish(); overridePendingTransition(0, 0); }
Esta pergunta já foi respondida, mas a maneira mais eficiente de colocar uma animação ao sair de uma atividade é substituindo o método "terminar ()" da atividade relacionada:
fonte
Eu sugeriria usar o método isFinishing () para configurar as animações em onPause em vez de chamar finish ()
fonte
fonte
Corrigi esse problema usando este tipo de abordagem:
para abrir com animação:
Para fechar com animação:
fonte
Procure fazer isso por meio de um tema. Você pode definir entrar animações de saída para atividades ou para todo o aplicativo
fonte
Seguindo a resposta de @schwiz, aqui está uma substituição de animação para o tema Dialog integrado, onde defini animações slide_up e slide_down locais. Minha atividade especifica o tema MyDialog para que essas transições entrem e saiam.
fonte
Use startActivityForResult para iniciar sua atividade filho e em onActivityResult () de sua atividade pai:
fonte