ナビゲーションコンポーネントの使用中にフラグメントをフルスクリーンに設定-Android
Aug 20 2020
最近、アプリをシングルアクティビティアーキテクチャに変換し、特定の1つのフラグメントをフルスクリーンに設定しようとしました。アクティビティの標準のフルスクリーンコードはフラグメントでは機能しません
final int flags =
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
私はこのAndroidがフラグメントからフルスクリーンを設定しているのを見つけました。ただし、FLAG_LAYOUT_NO_LIMITSに設定すると、FLAG_LAYOUT_NO_LIMITSを切り替えて取り消すときに、フラグメント内のPagerSnapHelperがジャンプします。
だから私の質問は、FLAG_LAYOUT_NO_LIMITSを使用せずにフラグメントをフルスクリーンに設定する他の方法はありますか?
回答
3 ianhanniballake Aug 21 2020 at 04:55
を使用する必要はありませんFLAG_LAYOUT_NO_LIMITS
。またfitsSystemWindows="true"
、アクティビティレイヤーでグローバルに適用する必要もありません。これにより、フラグメントが全画面表示されるのを防ぐことができます。代わりに、fitsSystemWindows
ステータス/システムバーとオーバーラップするフラグメント/個々のコンポーネントのみを追加します。これにより、フルスクリーンフラグメントがフルサイズを占めることができ、端からはめ込まれないようになります。