1

はじめに: すべてのビューの不透明度をフェードアウトするフェードアウト/フェードインを作成しました。切り替えアクティビティ間でこれをアニメーション化したいと思います。すべてのアクティビティのすべての onStop/onResume にフェードイン/フェードアウトを追加する必要があります。

質問:カスタムのオーバーライドされた onStop 関数を作成し、それをすべてのアクティビティで使用することは可能ですか?

4

4 に答える 4

4

このような基本アクティビティを作成します

public abstract class BaseActivity extends Activity {

..................
..................
    @Override
    public void onStop() {
        super.onStop();
        // Do your stuff
    }
....................
...................
}

現在、すべてのアクティビティで、基本アクティビティを次のように拡張しています

public class Activity1 extends BaseActivity
于 2013-04-20T09:09:53.777 に答える
0

はい、間違いなく onStop() 関数をオーバーライドできます。onStop オーバーライドでアクティビティを StopperActivity にする

@Override
public void onStop() {
    super.onStop();

}

他のアクティビティでは、アクティビティの代わりにこのカスタム アクティビティを拡張するだけです

于 2013-04-20T09:10:10.287 に答える
0

これは、質問への回答ではなく提案です。

あなたの説明に基づいて、アクティビティ間のカスタム遷移アニメーションを定義したいようです。スタイルを定義するだけではどうですか? カスタム スタイルで と を定義windowExitAnimationし、 をオーバーライドするだけです。windoEnterAnimationwindowAnimationStyle

独自のスタイルStyles and Themesを定義する方法については、開発者ガイドをご覧ください。

于 2013-04-20T09:40:41.370 に答える
0

クラスBaseActivity を作成する

例えば

class BaseActivity extends Activity
{
   void onResume()
   {
      super.onResume();
       // your code here (Need to write only once for entire app)
   }
   void onStop()
   {
        super.onStop();
       // your code here of onStop (Need to write only once for entire app)
   }
}

次に、このBaseActivityをクラス内のすべてのアクティビティに使用します。

class MainActivity extends BaseActivity
{
   ...
}
class AnotherActivity extends BaseActivity
{
   ...
}

この方法では、BaseActivity での fadeIn と fadeOut のコードを 1 回だけ記述する必要があります。

于 2013-04-20T09:12:13.867 に答える