5

イメージビューが左に向かってスライドし、画面を離れて右から入り、元の位置に戻るようにアニメーションを追加したいと思います。私はこのようなことをしてみました..

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

    <translate
        android:startOffset="1000"
        android:duration="1000"
        android:fromXDelta="100%p"
        android:toXDelta="0" />

しかし、アニメーションは私の希望通りではありません..誰か助けてくれますか

4

2 に答える 2

4

編集:さて、あなたがやろうとしていることは、a **の苦痛です(単純であるべきだったAndroidのもののもう1つです)!以前のバージョンの Android では、2 つのアニメーションを交互に表示してもうまくいきません。never バージョンでは、API レベル 11 の animationset を使用できます。例はこちら. または、より単純なアニメーションを使用します。

アクティビティのスライドイン/スライドアウトを行う方法は次のとおりです(古い回答):

左のアクティビティにスライド:

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

スライド イン ライト アクティビティ:

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

左のアクティビティをスライドアウト:

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

スライド アウト ライト アクティビティ:

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

使用例:

Intent intent = new Intent(this, YourNewActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left);

裏面の使用例:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        super.onBackPressed();
        overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_right);
    }
    return super.onKeyDown(keyCode, event);
}
于 2012-11-08T05:59:03.983 に答える
0

Warpzitが言ったように、それはバグであり、既知の問題です...ここのように

私はそれが私の側からの間違いだと思って時間を無駄にしました. 開発者によって指定された代替案は次のとおりです. 2 番目のものを開始します。それほど簡単ではありませんが、うまくいくはずです。」

私が学んだもう1つのことは、アンドロイドハニカムには古いバージョンよりも多くのアニメーション機能があることです..ハニカム以前のバージョンでこれらの機能を使用するには、nineoldandroidsを使用する場合があります

于 2012-11-08T11:35:30.657 に答える