Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Shibuya.apk#46 余白の作り方

Shibuya.apk#46 余白の作り方

みやゆ星

January 19, 2024
Tweet

Other Decks in Programming

Transcript

  1. WindowInsets 項目 説明 statusBars(IgnoringVisibility) ステータスバーのインセット(通知アイコンなどを含む上部のシステムUIバー) navigationBars(IgnoringVisibility) ナビゲーションバーのインセット(デバイスの左右下部のシステムUIバー) captionBar(IgnoringVisibility) キャプションバー(フリーフォームウィンドウのトップタイトルバーなど)のインセット systemBars(IgnoringVisibility)

    全てのシステムバー(ステータスバー、ナビゲーションバー、キャプションバー)の合計インセット ime ソフトウェアキーボードが占有する下部スペースのインセット imeAnimationSource キーボードアニメーション前のソフトウェアキーボードの占有スペースのインセット imeAnimationTarget キーボードアニメーション後のソフトウェアキーボードの占有スペースのインセット tappableElement(IgnoringVisibility) タップ可能なナビゲーションUI要素のインセット systemGestures システムジェスチャーのインターセプト範囲のインセット mandatorySystemGestures 常にシステムが処理する必須のシステムジェスチャーのインセット displayCutout ディスプレイのカットアウト(ノッチやピンホール)を避けるためのインセット waterfall ウォーターフォールディスプレイの曲線領域を表すインセット https://developer.android.com/jetpack/compose/layouts/insets?hl=ja
  2. 要素 使用シナリオ Modifier #padding ボタンやテキストなどのコンポーネントに余白を設定する場合に使用 Spacer 水平または垂直なレイアウト内でコンポーネント間に 特定の空白を作成したい場合などに使用 Arrangement #spacedBy

    同一方向上に並べられた複数のコンポーネント間に均等な間隔を設定する場合に使用 Modifier #windowInsets ステータスバーなどのシステムUIとの間に余白を設定する必要がある場合に使用 Constraint Layout 複数のコンポーネントを相対的に配置する必要がある場合や、 複雑なレイアウトを作成する場合に使用 Modifier#layout 標準的なレイアウトオプションで要件を満たせない場合に、 カスタムレイアウトを定義するために使用