Nella mia attività, con il semplice tocco di un pulsante, sostituisco il frammento corrente con un nuovo frammento utilizzando un'animazione personalizzata, come in questo esempio.customAnimation quando si chiama popBackStack su un FragmentManager
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle presses on the action bar items
switch (item.getItemId()) {
case R.id.action_anomalie:
Fragment contentFragment = getFragmentManager().findFragmentById(R.id.content);
if(contentFragment instanceof AnomalieListFragment)
{
getFragmentManager().popBackStack();
return true;
}
else
{
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out);
anomalieFragment = new AnomalieListFragment();
ft.replace(R.id.content, anomalieFragment);
ft.addToBackStack(null);
ft.commit();
}
...
Tuttavia, popping back the stack non mostra alcuna animazione. C'è un modo per specificare un'animazione personalizzata come facciamo in un FragmentTransaction con il metodo setCustomAnimations?
salvata io un sacco di tempo. Grazie !! – Yahel
Grazie a questo funziona alla grande. Ciò che fa funzionare questo codice è il metodo 'setCustomAnimations' chiamato con il sovraccarico di 4 parametri. Il 2 param one non si anima su 'popBackStack'. – Francois
Nota, .setCustomAnimations deve essere prima .replace. – Codeversed