問題タブ [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.
android - CoordinatorLayout および CollapsingToolbarLayout と組み合わせると、共有要素のトランジションが機能しない
私のアプリケーションのメイン画面には、画像のグリッド ビューが含まれています。ユーザーが画像を選択すると、選択したグリッド画像を詳細アクティビティの CardView にあるペアの画像にアニメーション化する共有要素遷移を使用して、詳細アクティビティが開始されます。
CoordinatorLayout と CollapsingToolbarLayout を含むように詳細ビューの XML レイアウトをアップグレードした後、共有要素のトランジションによって画像ビューが詳細アクティビティ (「入力」アクティビティ) の間違った場所に移動します。フレームワークは、AppBarLayout 全体と内部の CollapsingToobarLayout のオフセットを無視しているように見え、ターゲット イメージ ビューを含む CardView の上に CollapsingToolBarLayout がない場合のイメージのおおよその位置にアニメーション化します。
この問題は、Activity_detail.xml の 3 つの CardViews のいずれかに ImageView (transitionName を使用) を追加することで、Chris Banes のCheesesquare サンプル アプリで再現できます。
次に、CheeseListFragment.java の onBindViewHolder で共有要素遷移を次のように設定します。
アプリケーションを実行し、チーズ リストの項目をクリックすると、トランジション アニメーションが画像を目的のアクティビティ ビューの不適切な (高すぎる) オフセットに移動する様子がわかります。アニメーションが完了すると、画像が正しい位置に「ワープ」したように見えます。
可能な回避策についての考えは大歓迎です。
android - ネストされたビューを使用した共有要素遷移
ネストされたビューで共有要素の遷移を試すための簡単なサンプル アプリをまとめました (ソース コードは github にあります)。この場合は、CardView 内の ImageView です。次の結果が得られました。
ご覧のとおり、親ビュー (CardView) は適切にアニメーション化されますが、子ビュー (ImageView) はアニメーション化されません。CardView の将来位置の左上隅からアニメーションするように見えます。
アダプター
元のレイアウト
狙い目のレイアウト
どんな助けでも大歓迎です。
UPDATE 16/11/15:この問題は Marshmallow では解決されているようですが、Lollipop (少なくともエミュレーター) にはまだ存在します。
android - Android gif 共有要素遷移
画像の共有要素遷移を行う方法を知っています。gif 共有要素の移行を行う方法はありますか? gif をクリックすると、ポップアップして全画面表示になります。それとも、gif を一時停止してから、共有要素の遷移を行うことができますか?
どんな助けでも大歓迎です。ありがとう。
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 に戻ったときに、データが更新されたためにリストの元のアイテムが存在しなくなり、アニメーションが望ましい動作をしていないことです。
これについて何か考えはありますか?