アクティビティAからアクティビティBに切り替えるときに、共有要素の切り替えを実行したいのですが、共有のimageViews の種類が異なる場合、トランジションアニメーションがスムーズに動作しないという問題があります。私は移行の最初の段階で「バウンス」に気づいています(アニメーション化されていないscaleViewの変更はありません)。 centerCrop:Androidの共有要素のトランジションが異なるimgスケールのタイプでは動作しない
アクティビティAがscaleTypeとImageViewのが含まれています:活動A.に、アクティビティBからバック
詳細を来たときと同じ "バウンス" 私は気づいています。 アクティビティBには、scaleType:fitXYのimageViewが含まれています。
両方のImageViewには、もちろんandroid:transitionName="sharedView"
があります。
XMLに設定された私の推移は次のようになります。この設定に関するドキュメントで
<transitionSet xmlns:android="http://schemas.android.com/apk/res/android">
<changeBounds/>
<changeImageTransform/>
</transitionSet>
が書かれている:
ChangeBoundsとの組み合わせで、ChangeImageTransformは、サイズを変更 ImageViewsを可能形状、またはImageView.ScaleType のコンテンツをスムーズにアニメーション化する。
なぜ私の移行が円滑に機能しないのですか?または、changeBounds
とchangeImageTransform
の場合、共有要素の遷移中にscaleTypeの変更をアニメーション化する方法が機能していないようですか?
共有ビューの尺度タイプ(centerCropやcenterCropなど)を同じにすると、移行が円滑に機能し、すべてが正常です。
間のスムーズscaleTypeを変更し、その仕事をしますか? –
まだ答え/ご提案をお待ちしております。 – user2999943
もう少しコードを共有できますか? PicassoやGlideのような画像読み込みライブラリを使用していますか?私は最近、これに多くの時間を費やしましたが、最終的にはそれが妥当なところにあると思います。それは決して完璧ではありません。 –