Android Master Detail Fragment动画无法正常工作

时间:2014-07-29 21:36:09

标签: android animation android-fragments

我目前正在使用我的应用程序的Tablet部分来实现Master-Detail结构。当我单击应用程序的详细信息部分中的按钮时,应用程序将转换为我想要的片段,但不会转换为我想要的动画。它只是替换片段而没有任何动画。注意:我在eclipse提供的Tablet模拟器上运行此应用程序。

我使用以下代码来实现片段事务动画,这是我在互联网上看到的相同代码,作为正确的方法:

TipContainerFragment fragment = new TipContainerFragment();
FragmentManager fragmentManager = getSupportFragmentManager();

FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.setCustomAnimations(R.anim.abc_fade_in, R.anim.abc_fade_out);
transaction.replace(R.id.skill_detail_container, fragment);

transaction.addToBackStack(null);
transaction.commit();

我目前在SkillListActivity中有这个代码,它是管理应用程序的主要部分和细节部分的主要活动。我已经尝试将它放在特定的片段(细节)部分,但我得到了相同的结果:片段事务成功但仍然没有动画。任何建议或解决方案将不胜感激。

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。如果您使用v4支持或低于3的APK,这可能会有所帮助(在res / anim / abc_fade_in中):

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

    <translate xmlns:android="http://schemas.android.com/apk/res/android"
        android:fromXDelta="100%"
        android:toXDelta="0"
        android:duration="300" 
        android:interpolator="@android:anim/decelerate_interpolator" />

    <alpha android:fromAlpha="0.0"
        android:toAlpha="1.0"
        android:duration="200" />

</set>

答案 1 :(得分:0)

对新片段和要替换的片段尝试transaction.setCustomAnimations(R.anim.abc_fade_in, R.anim.abc_fade_out,R.anim.abc_fade_in, R.anim.abc_fade_out);

第3和第4个参数适用于从backstack添加/删除片段时适用的动画。

当您不向后堆栈添加碎片时,第1和第2应用。

在你的情况下,你是在后面的堆栈中添加片段但不提供后栈动画,即第3和第4个片段