検索するたびに、この「Android 5(L)アクティビティ遷移はAPI >= 21
。
それは問題ありませんが、QuickPic
やgoogle inbox
同様の遷移を使用し、also下位APIで作業しているので、このアプリはどのようにこのようなことを行うことができますか?
私がしたこと
1)多くの検索:)
2)次のように、21以上のapiにのみ適用されるActivityOptionsCompat
で遊ぶ:
ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(activity, transitionView, DATA.EXTRA_PASSED_JSON);
Intent intent = new Intent(activity, PhotoViewerActivity.class);
intent.putExtra(DATA.EXTRA_PASSED_JSON, json);
ActivityCompat.startActivity(activity, intent, options.toBundle());
編集(質問は重複としてマークされています):この場合、他の質問とは異なります。これは、より低いAPIでこの移行を行う他のアプリがあり、どのようにそれを行うかを知りたいからです。
Lollipopに多くの機能を追加して、アクティビティの切り替えがうまく機能するようにしました。 (以前のバージョンでは)手動でアクティビティ遷移を行うことは可能ですが、場合によっては問題が発生し、戻り遷移は最も単純な場合にのみ機能する可能性があります。 Chet Haaseにはこれについてdevbyteがあります here 。
APIはLollipopのFragment Transitionsほど使いやすいものではありませんが、フラグメント間のアニメーションは以前から可能でした。
サポートライブラリの以前のバージョンへの移行のバックポーティングについて多くのことを考えました。それはまだ起こるかもしれません。もしそうなら、フラグメント遷移のために何かをすることができるはずです。
あなた自身が言うように、サポートライブラリは、Android 5.0より前のバージョンでの(すべての)遷移をサポートしていません。ただし、いくつかの選択肢があります。
非公式の互換性ライブラリ
https://github.com/andkulikov/transitions-everywhere
https://github.com/takahirom/PreLollipopTransition
https://github.com/lgvalle/Material-Animations
Android KitKat
http://www.doubleencore.com/2013/11/new-transitions-framework/ およびSDKサンプルフォルダーにあるサンプル。