Я использую библиотеку совместимости v4 для Android для разработки пользовательского интерфейса планшета с использованием фрагментов специально для устройств Android 2.2 и выше.
Все работает как надо, за исключением того, что я не могу заставить работать какие-либо анимации, даже стандартные анимации.
Код:
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();
Вместо использования транзитной анимации фрагмент замирает примерно на секунду, а затем просто исчезает и появляется новый.
Использование:
ft.setCustomAnimations(android.R.anim.slide_in_left,android.R.anim.slide_out_right);
тоже не работает.
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>
Я читал, что пользовательская анимация не работает в библиотеке совместимости, но, похоже, ни у кого нет проблем со стандартными переходами. Я тестировал это на 3.2.1 Motorola Xoom, 2.3 Galaxy Tab 7 ", эмуляторе 2.2 и даже на HTC G2 с 2.3.4.
Что здесь может быть не так?