問題タブ [android-motionlayout]
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用Kotlinのビューサイズとともにwebrtc SurfaceViewRendererフレームサイズをアニメーション化する方法は?
Androidアプリケーション用のwebrtcを開発しています。webrtc 接続に関してはすべてが期待どおりに機能しますがSurfaceViewRenderer
、リモート ビデオが画面全体を占める状態から右上隅の小さな四角形に、またはその逆 (小さいものから大きいもの) に遷移するようにアニメーション化しています。
私はMotionLayout
これを達成するために を使用しており、プロパティをMotionScene
定義するいくつかの状態とともに を使用してSurfaceViewRenderer
、時間の経過とともに変化し、スムーズでスムーズなサイズ変更効果を得ています。
ビュー自体は時間の経過とともに適切にサイズ変更されますが、ビデオの再生はアニメーション中に停止するため、小さいものから大きいものに移行すると、ビューのサイズが大きくなる間、最後のビデオ フレームは小さいままです。アニメーションの最後でビデオの再生が再開されると、新しい大きなビデオ フレームが表示され、ビューがいっぱいになります。そのため、小さなビデオから大きなビデオへのスムーズなサイズ変更効果ではなく、小さなビデオの再生が停止し、数ミリ秒後に再生を再開して大きくなるスキップ効果のようになります。
私が試したこと
- 関連するクラス (
SurfaceViewRenderer
、VideoRenderer
、VideoTrack
) を詳しく調べて、現在のビデオ フレームを取得してサイズを変更する方法を見つけましたが、その方法が見つかりませんでした。
再現する手順
シグナリング サーバーと一緒に webrtc 環境をセットアップする必要があるため、正確なシナリオを再現することは困難ですが、使用しているコードの一部を共有します。私の主なレイアウトは次のようになります。
次に、motion_master_view_scene.xmlMotionScene
は次のようになります。
そして最後に、これを行うことで MainActivity の状態を切り替えます
この状況を解決する方法の手がかりはありますか?
android - RecyclerView が MotionLayout の他のビューにジャンプする
Github にプロジェクトがあります: https://github.com/Ali-Rezaei/TMDb-Paging
私はそれで使用MotionLayout
します:
RecyclerView (ID アクター付き) が NestedScrollView の他のビューにジャンプすることがあります。
https://github.com/Ali-Rezaei/TMDb-Paging/tree/masterで、RecyclerView を使用せずに正しい動作を確認できます。
NestedScrollView 内の他のビューの高さが短い場合に発生します。なぜこれが起こるのか知っていますか?
私は試した:
しかし、RecyclerView にはキャストが表示されません。
そして、これは scene_show_details です: