【问题标题】:Animation not working in FragmentTransaction (Android)动画在 FragmentTransaction (Android) 中不起作用
【发布时间】:2013-04-05 15:24:29
【问题描述】:

我对一个简单的片段切换越来越感到沮丧,由于某种原因它不会播放任何动画。

片段切换本身有效,我可以看到我的新片段。但是没有过渡。

谁能帮我理解为什么? 这是我的片段交易代码:

public class FullscreenActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_fullscreen);
    }

    @Override
    protected void onResume() {
        super.onResume();

        new Handler().postDelayed(new Runnable() {

            @Override
            public void run() {
                FragmentTransaction transaction = getFragmentManager().beginTransaction();
                transaction.setCustomAnimations(R.anim.slide_out_right, R.anim.slide_out_right);
                transaction.replace(R.id.root, new InitialFragment(),"DDDDD");
                transaction.commit();

            }
        }, 3000L);

    }
}

在这里,在 slide_out_right.xml 中,名称具有误导性 - 我已将其设置为更基本的名称,以确保我没有搞砸动画参数:

<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
    android:valueFrom="0"
    android:valueTo="1"
    android:propertyName="alpha"
    android:duration="@android:integer/config_mediumAnimTime" />

无论哪种方式,我都没有看到任何效果。我尝试使用 setTranstition(FragmentTransiniot.TRANSIT_ALLMOST_ALL_OF_THE_FLAGS),似乎没有任何效果。

我没有通过支持库使用 Fragments,我正在使用 Android 4.1.2 的有根 Galaxy S 进行测试。

【问题讨论】:

    标签: android animation fragment transition


    【解决方案1】:

    回答我自己的问题: 由于我没有看到片段对我的任何影响,所以无论我尝试和编写什么动画,我都认为更全局的东西是错误的。答案非常愚蠢。

    破烂的开发手机通过 Android 设置菜单中的“开发选项”禁用了动画师。我很惭愧地写下我花了多少时间才弄清楚这一点,但希望其他人可以从中受益。

    【讨论】:

    • 哇,如此明显却又如此难以捉摸!我从来没想过。谢谢!!
    【解决方案2】:

    改变 : 的值

    android:valueTo="1"
    

    到

    android:valueTo="1000"
    

    和

    android:propertyName="alpha" 
    

    到

    android:propertyName="x"
    

    如果你想让你的片段移动。我在版本 4.0.3 下的三星 Galaxy Tab 2 10.1 遇到了同样的问题。我应用动画的片段(沿 x 方向移动)根本没有移动。一旦我触摸它(碎片),它就会刷新并立即移动到最终目的地。

    【讨论】:

    • 我知道如何让它动起来。我希望看到对我的片段有任何影响。答案非常愚蠢。爆破的开发手机通过 Android 设置菜单中的“开发选项”禁用了动画师。我很惭愧地写下我花了多少时间才弄清楚这一点。
    猜你喜欢
    • 1970-01-01
    • 2020-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-20
    • 1970-01-01
    相关资源
    最近更新 更多