4

実際には、あるアクティビティから別のアクティビティへのボタンをクリックして、画面を回転または反転したい:このように

前もって感謝します。

4

3 に答える 3

3

これを行うアクティビティ間の移行をオーバーライドできます。

Button btn = (Button)findViewById(R.id.myBtn);

btn.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            startActivity(new Intent(ActualActivity.this, 
                    TargetActivity.class));
            overridePendingTransition(R.anim.slide_in_up, R.anim.slide_out_up);
        }
    });

ここで、slide_in_up と slide_out_up は res/anim に保存されたカスタム アニメーションです。ここにいくつかのコード例があります:

上にスライド:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:fromYDelta="-100%p" android:toYDelta="0" android:duration="300"/>
</set>

スライドアウト_アップ:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:fromYDelta="0" android:toYDelta="100%p" android:duration="300"/>
</set>

この例では、アクティビティを上から下に移動します。アニメーション ファイルを変更して、さまざまなアニメーションを取得できます。

于 2012-07-02T08:09:01.303 に答える
1

ここで答えを見つけることができます: Android でのアクティビティの移行

2 つのオプション:

  1. このチュートリアルを読むhttp://developerlife.com/tutorials/?p=343
  2. 2 番目のアクティビティ (ボタンを使用して開くアクティビティ) に、作成時に表示するアニメーションを指定します。

このような:

@Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        getWindow().setWindowAnimations(ANIMATION);

        ...

    }
于 2012-07-02T08:08:45.503 に答える
1

@abhy が提供したリンクは、私たち全員が一度たどったものです :)

しかし、あるアクティビティから別のアクティビティに変更することはできません。その動作を達成するために私がしたことは、現在のアクティビティのビットマップと、現在向かっているアクティビティのビットマップを取得し、この移行を行い、その終了時に startactivity をオーバーライドすることです効果のない保留中の遷移。

私はそれが素晴らしいアプローチだとは思わないので、誰かがより良いアイデアを持っているかどうかを知りたいです:)

よろしく、

于 2012-07-02T08:13:47.077 に答える