2

マイ アクティビティ アニメーションを使用して Android 4.1 でアクティビティ A から B に正常にスライドする

**inamation.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:duration="600" />
</set>

outanimation.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:duration="600" />
</set>

そしてアクティビティAでは、以下に示すように、保留中の遷移をオーバーライドして使用しました。

A.this.overridePendingTransition(R.anim.outanimation,R.anim.inanimation);

前に述べたように、これは Android 4 以降のプラットフォームでは正常に動作しますが、Android 2.3 プラットフォームでテストすると、Activity A から B は Android のデフォルトのアクティビティ アニメーションを取得します。

アクティビティを実行して、2.2 以降と互換性のある左から右および右から左にスライドする方法を教えてください。

プログラムで 2 つのアクティビティ間にアニメーションを設定する方法はありますか?

アップデート

問題は、少なくともSamsung Galaxyの場合、これが機能するためにデバイスでアニメーションを有効にする必要があることでした. これは、設定メニューで行うことができます。

Android の設定メニューからすべてのアニメーションを有効にする方法を知っていますか?

4

1 に答える 1

10

Android のスライド インとスライド アウトのアニメーションでは、次のコードを使用しています。

活動A:

Intent intnt = new Intent(SplashScreen.this,
                        CustomTabActivity.class);
                startActivity(intnt);
                overridePendingTransition(R.anim.slide_in_left,
                        R.anim.slide_out_left);
                finish();

slide_in_left.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="@android:integer/config_longAnimTime"
    android:fromXDelta="100%p"
    android:toXDelta="0%p" />

slide_out_left.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="@android:integer/config_longAnimTime"
    android:fromXDelta="0"
    android:toXDelta="-100%p" />
于 2013-05-10T07:19:11.440 に答える