1.共有要素アニメーションの拡張
Android共有要素アニメーションは、Android 5.0以降の一種の遷移アニメーションです。開発者が最も一般的に使用するのは、このフィールドtransitionNameと一般的なコロケーションのコードです。
val transitionActivityOptions = ActivityOptions.makeSceneTransitionAnimation(this, Pair(view,transitionName))
startActivity(Intent(this,MainActivity::class.java), transitionActivityOptions.toBundle())
2.機能拡張
一般的な共有要素のアニメーションは、changeImageTransform、changeClipBounds、changeBounds、fadeなどです。これらに加えて、独自のカスタム共有要素アニメーションを実際に追加できるため、このライブラリには、テキストカラーRBGアニメーション用のReColorとReRadius、および半径が追加されています。レイアウトの丸みを帯びた角のアニメーション。
<transition class="XXXXXXX"/>
ボタンのtransitionSetに追加
3つ目は、拡張ライブラリのレンダリングです。
第四に、実現の原則:
SharedElementCallbackでは、CaptureSharedElementSnapshotこのメソッドで取得されたこの分析メソッドで、幅と高さ、位置、色などを含む要素への初期ビューを抽出できます。生成された結果はパーセル可能です。このParcelableの場合、Activity1からParcelableを継承するクラスに情報を抽出し、それを別のページに渡す必要があります。
そして、Activity2でonCreateSnapshotViewとonSharedElementStart我々が得たものとの契約。
5.クイック使用:ルートディレクトリのbuild.gradleにJitpackへの参照を追加します
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
モジュールのbuild.gradleで紹介します:
dependencies {
implementation 'com.github.ShowMeThe:Transition:1.0.0-release'
}
プロジェクトのres / transitionにxmlを作成します。
<?xml version="1.0" encoding="utf-8"?>
<transitionSet android:duration="xxxx" xmlns:android="http://schemas.android.com/apk/res/android">
<transition class="com.show.element.transition.Recolor"/>
<transition class="com.show.element.transition.ReRadius"/>
</transitionSet>
setExtraShareElementCallBack()メソッドをアニメーションが必要な2つのアクティビティに追加します。このメソッドは拡張メソッドです。