問題タブ [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 - 共有要素アクティビティ遷移でネストされたビューをアニメーション化するときの不具合?
私は Android 5.0 の新しい API をいじり回しており、 Activity transitionViewGroup
中に a とその子の 1 つを共有要素として別々にアニメーション化できるかどうかを調べようとしています。
以下のスクリーンショットは、私が達成しようとしていることの簡単な例を示しています。
最初のアクティビティでは、濃い灰色のボックスがViewGroup
画面の中央に配置され、赤いボックスがその子View
です (使用しているレイアウト XML コードはここにあります)。ユーザーがダーク グレーのボックスをクリックすると、ダーク グレーのボックスが徐々に拡大され、2 番目のアクティビティの背景がいっぱいになります。同時に、赤いボックスは徐々にスケーリングされ、2 番目のアクティビティの左上隅に再配置されます。
アクティビティとアニメーション コード
Activity
移行を実行するために使用しているコードは単純です。
問題
最初のアクティビティの濃い灰色のボックスをクリックすると、共有要素の遷移が開始され、濃い灰色のボックスが適切に拡大されて 2 番目のアクティビティの背景が塗りつぶされます。ただし、赤いボックスはまったくアニメーションしていないように見えます。トランジションが開始されるとすぐに、灰色のボックスのアニメーションが終了する前に、赤いボックスのサイズが突然変更され、2 番目のアクティビティ内の最終的な位置に配置されます。
私の質問
遷移ViewGroup
の共有要素として、子ビューの 1 つ/一部/すべてを個別にアニメーション化することは可能ですか? Activity
もしそうなら、私は何を間違っていますか?また、子ビューも確実にアニメーション化するにはどうすればよいですか?
このサンプル プロジェクトの完全なソース コードはGitHubで入手でき、実行可能な APK はここからダウンロードできます(APK を実行するには、Android 5.0 を実行する物理デバイスまたはエミュレータが必要です)。
android - 共有要素を使用したアクティビティ遷移のしゃっくり
Android Lollipop の新しい Activity Transitions を使いたいです。しかし、現在、アニメーション中に非常に奇妙なヒックアップが見られます。考えられる最小のサンプルをハッキングしました。
これは私が非常に短いバージョンで行ったことです:
- 私のウィンドウコンテンツの遷移を有効にしました
styles.xml
- 私のスタイルでは非常に単純な
slide.xml
終了トランジションを参照しました android:transitionName
両方のレイアウトで共有要素に を提供ActivityOptions.makeSceneTransitionAnimation()
その名前と共有したいビューで呼び出されます- 結果のバンドルをに渡しました
startActivity()
これが私が見た動作です (アニメーションの速度を 10 倍遅くしてみてください)。スライド アニメーションが共有されていないビューを下にスライドする直前に、それらのビューが少し下にジャンプします。彼らは実際には少し離れて移動します。
しかし:これは、そのアニメーションを2回目に実行したときにのみ発生します(その後は毎回)。最初のパスは問題ないようです。また、これは要素を次のアクティビティと共有したい場合にのみ発生します。要素を共有しようとしなければ、すべてうまくいきます。
これが私のコードです:
値/styles.xml
transition/slide.xml
メインアクティビティのレイアウト
MainActivity.java
android - 共有要素遷移を使用してテキストビューをスケーリングするにはどうすればよいですか?
を使用して、TextView を 2 つのアクティビティ間で完全に遷移させることができActivityOptions.makeSceneTransitionAnimation
ます。ただし、トランジションに合わせてテキストを拡大したいと考えています。連絡先カードのトランジションで、テキスト「Alphonso Engelking」を拡大したマテリアル デザインの例を見ることができます。
宛先の TextView にスケール属性を設定し、changeTransform 共有要素トランジションを使用しようとしましたが、スケーリングされず、トランジション時にテキストが切り詰められてしまいます。
共有要素遷移を使用して TextView をスケーリングするにはどうすればよいですか?
android - ChangeImageTransform で共有要素遷移を使用して、2 つのアクティビティ間で ImageView をアニメーション化する
Android API レベル 21 で 2 つのアクティビティ間で ImageView を別の位置にアニメーション化しようとしています。 Android L Preview の「MoveImage」が削除されたため、代わりに「ChangeImageTransform」を使用していますが、ドキュメント内のサンプル コードが機能しません (別々にアニメーション化された 2 つの画像)。
実際の例はありますか?ありがとう!
android - アクティビティ シーンのアニメーション遷移中にステータス バーとナビゲーション バーがアニメーション化されないようにするにはどうすればよいですか?
まず、ステータス バーの背景をこげ茶色に設定し、ナビゲーション バーの背景をデフォルトの黒に設定しました。Material light テーマを使用しています。
デフォルトのトランジションを使用して新しいアクティビティを開始しActivityOptions.makeSceneTransitionAnimation
ていますが、ステータス バーとナビゲーション バーの両方が一時的に白くなり、その後正しい色に戻ることに気付きました。
ドキュメントによると:
トランジションの効果を最大限に引き出すには、呼び出しアクティビティと呼び出されたアクティビティの両方でウィンドウ コンテンツのトランジションを有効にする必要があります。それ以外の場合、呼び出し元のアクティビティが終了トランジションを開始しますが、ウィンドウのトランジション (スケールやフェードなど) が表示されます。
getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);
呼び出しアクティビティと呼び出されたアクティビティの両方で使用しています。
同様に、入力トランジションをスライドに変更すると、ステータス バーとナビゲーション バーの両方に一時的に白い背景のスライド トランジションが表示されます。
アクティビティ シーンのアニメーション遷移中にステータス バーとナビゲーション バーがアニメーション化されないようにするにはどうすればよいですか?
android - Androidの2つの異なるアプリケーション間の共有要素遷移?
2 つの異なるアプリ間で共有要素遷移を使用する可能性はありますか?
android - Android 5.0 で ImageView を移行するときの奇妙な問題
ImageView
Android 5.0 でのアクティビティ間の遷移に関する奇妙な問題/バグが発生しています。
Fragment A
サムネイル画像を (in) から(in )Activity A
のヘッダー画像に移行しようとしています。ほとんどの場合はうまく機能しますが、時々、わずかに混乱することがあります。Fragment B
Activity B
ぐちゃぐちゃになった時の画像はこんな感じです。
当然、エリア全体を埋めることになっています。両方の ImageViews が に設定されているScaleType.CENTER_CROP
ため、それが問題であるとは想像できません。
興味深いのは、スクロールするとすぐに問題が修正されることです (スクロール時にパディングを変更Activity B
するサブクラスにすべてが含まれています)。ScrollView
ImageView
起動するためのコードActivity B
は非常に単純です。
ScrollView
監視可能なリスナーのコードは次のとおりです。
また、ここに私のテーマスタイルの一部があります:
何か案は?