1
我正在使用setCustomAnimations()
方法在Android 6.0.1中完全沒有效果。發生的情況是片段在動畫的持續時間內卡在屏幕的左側,在屏幕的其餘部分留下空白區域,然後在沒有任何動畫的情況下佔用屏幕。它適用於所有版本< 6.0。我使用的方法如下:片段交易動畫不能在Android 6.0+中工作
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.setCustomAnimations
(R.anim.slide_in_left, R.anim.slide_out_left, 0, 0);
MyFragment myFragment = new MyFragment();
fragmentTransaction.replace(R.id.fragmentContainer, myFragment,
ResourceUtil.resByName(context, R.string.myFragmentText));
fragmentTransaction.commit();
此外,slide_in_left XML文件如下:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="-100%" android:toXDelta="0%"
android:fromYDelta="0%" android:toYDelta="0%"
android:duration="300"/>
</set>