Utilizzo la libreria di compatibilità Android v4 per sviluppare un'interfaccia utente di tablet utilizzando frammenti specifici per dispositivi Android 2.2 e versioni successive.Transizione standard frammento non animato
Tutto funziona come dovrebbe, tranne che non riesco a far funzionare le animazioni, nemmeno le animazioni standard.
Codice:
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ABCFragment abcFragment = new ABCFragment();
ft.replace(R.id.main_frame_layout_fragment_holder,abcFragment);
ft.addToBackStack(null);
ft.commit();
Invece di usare un'animazione di transito, il frammento si blocca per circa un secondo e il giusto scompare e appare la nuova.
Usando:
ft.setCustomAnimations(android.R.anim.slide_in_left,android.R.anim.slide_out_right);
non funziona neanche.
XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/com.synergygb.mycustomapp"
android:id="@+id/LinearLayout01" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:orientation="vertical"
android:gravity="bottom">
<FrameLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/main_frame_layout_fragment_holder">
</FrameLayout>
<!-- OTHER FIXED UI ELEMENTS-->
</RelativeLayout>
Ho letto che l'animazione personalizzato erano rotti nella libreria di compatibilità, ma nessuno sembra avere problemi con le transizioni standard. Ho provato questo su una 3.2.1 Motorola Xoom, Galaxy Tab 2.3 7" , 2,2 emulatore, e anche su un HTC G2 con 2.3.4.
cosa potrebbe essere sbagliato?
Dalvik (debugger) ti sta dando qualcosa? – IAmYourFaja
Avete qualche output di logcat da darci? –
Niente, questo è il motivo per cui ho perso. Nessun errore Logcat non mostra nulla. Solo normali richiamate del sistema, niente relative alle modifiche in-app in corso. Controllare il valore di mTransition che dà = 4099. Questo valore è impostato da: ft.setTransition (FragmentTransaction.TRANSIT_FRAGMENT_FADE); – blindstuff