問題タブ [shared-element-transition]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
3472 参照

android - CoordinatorLayout および CollapsingToolbarLayout と組み合わせると、共有要素のトランジションが機能しない

私のアプリケーションのメイン画面には、画像のグリッド ビューが含まれています。ユーザーが画像を選択すると、選択したグリッド画像を詳細アクティビティの CardView にあるペアの画像にアニメーション化する共有要素遷移を使用して、詳細アクティビティが開始されます。

CoordinatorLayout と CollapsingToolbarLayout を含むように詳細ビューの XML レイアウトをアップグレードした後、共有要素のトランジションによって画像ビューが詳細アクティビティ (「入力」アクティビティ) の間違った場所に移動します。フレームワークは、AppBarLayout 全体と内部の CollapsingToobarLayout のオフセットを無視しているように見え、ターゲット イメージ ビューを含む CardView の上に CollapsingToolBarLayout がない場合のイメージのおおよその位置にアニメーション化します。

この問題は、Activity_detail.xml の 3 つの CardViews のいずれかに ImageView (transitionName を使用) を追加することで、Chris Banes のCheesesquare サンプル アプリで再現できます。

次に、CheeseListFragment.java の onBindViewHolder で共有要素遷移を次のように設定します。

アプリケーションを実行し、チーズ リストの項目をクリックすると、トランジション アニメーションが画像を目的のアクティビティ ビューの不適切な (高すぎる) オフセットに移動する様子がわかります。アニメーションが完了すると、画像が正しい位置に「ワープ」したように見えます。

可能な回避策についての考えは大歓迎です。

0 投票する
1 に答える
1018 参照

android - ネストされたビューを使用した共有要素遷移

ネストされたビューで共有要素の遷移を試すための簡単なサンプル アプリをまとめました (ソース コードは github にあります)。この場合は、CardView 内の ImageView です。次の結果が得られました。

画像

ご覧のとおり、親ビュー (CardView) は適切にアニメーション化されますが、子ビュー (ImageView) はアニメーション化されません。CardView の将来位置の左上隅からアニメーションするように見えます。

アダプター

元のレイアウト

狙い目のレイアウト

どんな助けでも大歓迎です。

UPDATE 16/11/15:この問題は Marshmallow では解決されているようですが、Lollipop (少なくともエミュレーター) にはまだ存在します。

0 投票する
1 に答える
245 参照

android - Android gif 共有要素遷移

画像の共有要素遷移を行う方法を知っています。gif 共有要素の移行を行う方法はありますか? gif をクリックすると、ポップアップして全画面表示になります。それとも、gif を一時停止してから、共有要素の遷移を行うことができますか?

どんな助けでも大歓迎です。ありがとう。

0 投票する
1 に答える
64 参照

android - Android マテリアル デザインと ContentObserver の比較

私は私の質問を最善の方法で説明しようとします。

ContentObserver を登録/登録解除する場所を検索すると、onResume / onPause または onStart / onStop にあるはずで、onCreate / onDestroy にあるべきではないという複数の回答が表示されます。onStart / onStop で登録 / 登録解除を行ったとします。ビューが最新のデータで更新されていることを確認するには、データを取得してから onStart メソッドでビューを更新してから、ContentObserver を登録します。

すべて問題なく、マテリアル デザインの移行を伴う SharedElement まで正常に動作します。

Imagine Activity A が Data-A に登録され、onStart でデータが更新されるため、ビューが更新されます。ユーザーがアイテムに触れると、SharedElement アニメーションがこのアイテムの詳細に実行されます: Activity B with Data-A[n]

問題は、アクティビティ B からアクティビティ A に戻ったときに、データが更新されたためにリストの元のアイテムが存在しなくなり、アニメーションが望ましい動作をしていないことです。

これについて何か考えはありますか?