1

Android のアニメーションについていくつか質問があります。

まず第一に、アンドロイドのアニメーションが説明されているサイトへの良いリンクを持っている人はいますか? XML アニメーションのみでお願いします。アニメーションに Java コードを使用したくありません。

2 番目の質問: アクティビティが開始されたときにタイトから左に、終了時に左から右に単純にアニメーション化したいのですが、この単純なアニメーションを実現できません。

私の XML ファイルは次のようになります。

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

    <translate
        android:duration="@android:integer/config_shortAnimTime"
        android:fromXDelta="-100%p"
        android:toXDelta="0" />

    <alpha
        android:duration="@android:integer/config_shortAnimTime"
        android:fromAlpha="1.0"
        android:toAlpha="1.0" />

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

    <translate
        android:duration="@android:integer/config_shortAnimTime"
        android:fromXDelta="0"
        android:toXDelta="100%p" />

    <alpha
        android:duration="@android:integer/config_shortAnimTime"
        android:fromAlpha="1.0"
        android:toAlpha="1.0" />

</set>

私のコードでは、次を使用しますoverridePendingTransition(R.anim.push_left_in,R.anim.push_right_out);overridePendingTransition(R.anim.push_right_out,R.anim.push_left_in);super.finiah();

4

2 に答える 2

2

これは、単純なフェードイン、フェードアウトアニメーションを設定する方法です

これが私のincoming.xmlです

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

<alpha
    android:duration="@android:integer/config_mediumAnimTime"
    android:fromAlpha="1.0"
    android:interpolator="@android:anim/accelerate_interpolator"
    android:toAlpha="0.0" />

ここに私の発信.xmlがあります

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

<alpha
    android:duration="@android:integer/config_mediumAnimTime"
    android:fromAlpha="0.0"
    android:interpolator="@android:anim/accelerate_interpolator"
    android:toAlpha="1.0" />

そして、これが私のアクティビティでアニメーションを設定する方法です

 Intent i = new Intent(this, ABCActivity.class);
                startActivity(i);
                ModeSelectActivity.this.overridePendingTransition(
                    R.anim.outgoing, R.anim.incoming);

また、リバース アニメーションの onBackPressed() を必ずオーバーライドしてください。

@Override
public void onBackPressed() {
    // TODO Auto-generated method stub
    super.onBackPressed();

    ModeSelectActivity.this.overridePendingTransition(R.anim.outgoing,
            R.anim.incoming);
}
于 2013-01-26T20:07:49.170 に答える
0

このページには多くのアニメーションがあります:

http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/2.3.5_r1/frameworks/base/core/res/res/anim/

slide_in_left.xml、slide_in_right.xml、slide_out_left.xml、slide_out_right.xml を見ることができます。

これらのトランジションは、overridePendingTransition() で使用できます。

于 2013-01-26T19:54:21.580 に答える