0

プログラムでアニメーションを有効にするにはどうすればよいですか? を使用してoverridePendingTransition();います。自分でアニメーションをオンにしないと機能しません。ディスプレイ/アニメーション設定内にあるアニメーションをプログラムでオンにする方法を教えてもらえますか? overridePendingTransition(); を使用しています。新しいアクティビティを開きます。

ここに私のxmlがあります

grow_fadein_center

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android">
    <scale android:fromXScale="0.6" android:toXScale="1.0"
           android:fromYScale="0.6" android:toYScale="1.0"
           android:pivotX="50%" android:pivotY="50%"
           android:duration="@android:integer/config_longAnimTime" />
    <alpha android:interpolator="@anim/decelerate_interpolator"
            android:fromAlpha="0.0" android:toAlpha="1.0"
            android:duration="@android:integer/config_longAnimTime" />
</set>

シュリンクフェードアウトセンター:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <scale android:fromXScale="1.0" android:toXScale="0.5"
           android:fromYScale="1.0" android:toYScale="0.5"
           android:pivotX="50%" android:pivotY="50%"
           android:duration="@android:integer/config_longAnimTime" />
    <alpha android:interpolator="@anim/accelerate_interpolator"
            android:fromAlpha="1.0" android:toAlpha="0.0"
            android:duration="@android:integer/config_longAnimTime"/>
</set>

ここに私がインテントを開くために使用しているコードがあります

btn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                ContentResolver cr = getContentResolver();
                Settings.System.putInt(cr, Settings.System.WINDOW_ANIMATION_SCALE, 0);

                Intent intent=new Intent(context,Second.class);


                startActivity(intent);
                overridePendingTransition(R.anim.grow_fade_in_center, R.anim.shrink_fade_out_center);
                finish();

//testing on textview worked without turning system animation on.
                Animation animation=AnimationUtils.loadAnimation(context, R.anim.grow_fade_in_center);
                txt.startAnimation(animation);




            }
        });

これは、アニメーションがオンになっている場合にのみ機能します。私は設定 - >ディスプレイ - >アニメーションでそうしています

見つけた

ContentResolver cr = getContentResolver();
Settings.System.putInt(cr, Settings.System.WINDOW_ANIMATION_SCALE, 0);

整数を設定してアニメーションをオンまたはオフにします! しかし、それは私にはうまくいきませんでした!私が必要とするのは、システム設定にあるアニメーションをプログラムでオン/オフするにはどうすればよいですか?

4

1 に答える 1

0

そのように実用的にアニメーションを開始する必要はありません。

overridePendingTransition(R.anim.grow_fade_in_center, R.anim.shrink_fade_out_center);正しい場所に電話するだけです。

public void onClick(View v) {
    startActivity(HomeActivity.class);
    overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
    finish();
}

また、やっている:

Settings.System.putInt(cr, Settings.System.WINDOW_ANIMATION_SCALE, 0);

ウィンドウアニメーションを無効にします!

于 2012-11-19T09:27:56.593 に答える