0

Androidのプログラミングに少し挑戦しています。

だから今私の状況に:

インテントで接続する必要がある 2 つのアクティビティがあります。(ボタンをクリックして) アクティビティ 1 から切り替えると、アニメーション ファイルを作成してトランジションをオーバーライドし、アクティビティ 1 が左にスライドし、アクティビティ 2 が右からスライドするようにしました。

次のことをどのように行うことが可能ですか: アクティビティ 2 でボタンを押すと、アクティビティ スライドが逆になり、アクティビティ 2 が右にスライドし、アクティビティ 1 が右からスライドします。

私のコードはアニメーションを次のように探します:

slide_in.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">
</translate

>

slide_out.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">
</translate>

これが、アクティビティ 2 を開始するインテントのコードです。

Intent i = new Intent(First.this, Second.class);
                startActivity(i);
                overridePendingTransition(R.anim.slid_in, R.anim.slid_out);

act.2 から act.1 への他のインテントで何をする必要がありますか?

助けてくれてありがとう ;)

4

2 に答える 2

0

Jack Whartonの優れたライブラリを確認することもできます: nineoldandroids

より使いやすく、Froyo のすべての Android バージョンと互換性があります (HoneyComb に追加された新しいクラスを使用できます)。

AnimatorSet set = new AnimatorSet();
set.playTogether(
ObjectAnimator.ofFloat(myView, "rotationX", 0, 360),
ObjectAnimator.ofFloat(myView, "rotationY", 0, 180),
ObjectAnimator.ofFloat(myView, "rotation", 0, -90),
ObjectAnimator.ofFloat(myView, "translationX", 0, 90),
ObjectAnimator.ofFloat(myView, "translationY", 0, 90),
ObjectAnimator.ofFloat(myView, "scaleX", 1, 1.5f),
ObjectAnimator.ofFloat(myView, "scaleY", 1, 0.5f),
ObjectAnimator.ofFloat(myView, "alpha", 1, 0.25f, 1));
set.setDuration(5 * 1000).start();
于 2014-01-03T08:56:32.163 に答える