Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Shibuya.apk#46 余白の作り方
Search
みやゆ星
January 19, 2024
Programming
400
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Shibuya.apk#46 余白の作り方
みやゆ星
January 19, 2024
More Decks by みやゆ星
See All by みやゆ星
一時的なスライド
yuchan2215
0
30
AI Agentを利用したAndroid開発について
yuchan2215
0
830
Other Decks in Programming
See All in Programming
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.7k
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
1
260
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
430
Go言語とトイモデルで学ぶTransformerの気持ち / fukuokago23-transformer
monochromegane
0
150
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
120
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
250
吝嗇家のためのAI活用 / AI development for miser - ChatGPT + Issue Driven Development
tooppoo
0
200
作るコストが小さくなった時代 幸せに働くために改めて考えたいこと 〜エンジニアとして価値を出し続けるために注視している二分野〜
yuppeeng
0
130
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
180
テーブルをDELETEした
yuzneri
0
120
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
0
350
광주소프트웨어마이스터고등학교 DevFest 특강 - 바이브 코딩 시대에서 주니어 개발자로 살아남는 방법
utilforever
1
160
Featured
See All Featured
Being A Developer After 40
akosma
91
590k
Automating Front-end Workflow
addyosmani
1370
210k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
190
Ethics towards AI in product and experience design
skipperchong
2
330
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Code Review Best Practice
trishagee
74
20k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
760
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
910
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
220
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
610
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
640
RailsConf 2023
tenderlove
30
1.5k
Transcript
Shibuya.apk#46 みやゆ星 余白の 作り方
Modifier Padding Layout WindowInsetsPadding Arrangement.spacedBy Spacer Constraint Layout 余白の つくりかた
一番ベーシックなモディファイア (主観) 周りに空間をあける NowInAndroid: 58回出現 Padding
そのまんま。スペーサー。 NowInAndroid: 17回出現 Spacer
Android Viewでは多用 要素と要素の間の依存関係を 細かく設定できる 美しいコードが書けない印象 なので、あまり使われていない? NowInAndroid: 0回出現 Constraint Layout
カスタムレイアウトの作成 (位置・サイズを細かく指定できる) NowInAndroid: 1回出現 Layout
Now In Android 使用例(おまけ)
ColumnやRowで要素間の間隔をあける。 NowInAndroid: 16回出現 Arrangement. spacedBy
WindowInsets システムバーなどのウィンドウインセットに応じてパディングを適用するもの 引用:https://developer.android.com/jetpack/compose/layouts/insets?hl=ja →なのでちょっと特殊
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
消費できる Modifier#windowInsetsPadding 消費できた分の間隔をあける Modifier#consumeWindowInsets 消費のみ
🤔
None
要素 使用シナリオ Modifier #padding ボタンやテキストなどのコンポーネントに余白を設定する場合に使用 Spacer 水平または垂直なレイアウト内でコンポーネント間に 特定の空白を作成したい場合などに使用 Arrangement #spacedBy
同一方向上に並べられた複数のコンポーネント間に均等な間隔を設定する場合に使用 Modifier #windowInsets ステータスバーなどのシステムUIとの間に余白を設定する必要がある場合に使用 Constraint Layout 複数のコンポーネントを相対的に配置する必要がある場合や、 複雑なレイアウトを作成する場合に使用 Modifier#layout 標準的なレイアウトオプションで要件を満たせない場合に、 カスタムレイアウトを定義するために使用
Thank You ご清聴ありがとうございました!! @yuu1111main