質問: ### フェードアウトを画面全体に適応させる方法について いつもお世話になっております。 タイトル通り、activity遷移のさいに画面全体を暗くフェードアウトさせる方法についてです。(すごい初歩的なことを聞いているのかもしれませんが・・・) ネットなどを使って調べていくうち、`AlphaAnimation`を使うとフェードアウトができると知りました。 参考サイト しかし、これでは一つのビューにしか、アニメーションが適応されません。 これを画面全体に適応させる方法はあるのでしょうか? なんとなくレイアウトをビュークラスにしてそれにアニメーションをかけるのかなと推測しております・・・ また、私が実現したいのは、「DialogFragmentから別Activityへの遷移のさい」のフェードアウトです。なので「activityのレイアウトファイル」と「ダイアログのレイアウトファイル」の二つに、アニメーションを適応することになるのかな?とぼんやり思っています・ 指針だけでもいいので教えてくれたら幸いです・・ どうかよろしくお願いします・・・
回答: Activityの遷移時のアニメーションは `overridePendingTransition` メソッドを利用することで変更することが可能です。まずはこちらで求める動きが実現できるか試してみてはいかがでしょう? 単純なクロスフェードであれば、Android標準で用意されているanimリソースが使えます。 ``` Intent intent = new Intent(...); startActivity(intent); overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); ``` > > しかし、これでは一つのビューにしか、アニメーションが適応されません。 > > これを画面全体に適応させる方法はあるのでしょうか? > > > 一応こちらについても回答しておくと、Windowの `getDecorView()` で取得できるViewがWindowのルートとなるViewですので、それに対しアニメーションを実行させるとよいと思います。