Я использую библиотеку совместимости 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.
Что здесь может быть неправильным?