0

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

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

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

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 ),似乎没有任何效果。

我没有通过支持库使用片段,而是在带有 Android 4.1.2 的根深蒂固的 Galaxy S 上进行测试。

4

2 回答 2

4

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

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

于 2013-04-10T13:09:09.130 回答
0

更改 的值:

android:valueTo="1"

android:valueTo="1000"

android:propertyName="alpha" 

android:propertyName="x"

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

于 2013-04-05T15:52:47.813 回答