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
ノハナ社のレイアウト戦略
Search
HiroYUKI Seto
February 03, 2018
Technology
0
3.8k
ノハナ社のレイアウト戦略
2018/2/9
DroidKaigi 2018 DAY02 room1 10:30~
発表の付録3
HiroYUKI Seto
February 03, 2018
Tweet
Share
More Decks by HiroYUKI Seto
See All by HiroYUKI Seto
Androidアプリの 安全なリファクタリングを行うパターン集
seto_hi
2
4.9k
UI TestやVisual Regression Testを コスパ良くやる
seto_hi
3
1.9k
事業支援というお仕事
seto_hi
0
420
MDCの内部実装から学ぶ 表現力の高いViewの作り方
seto_hi
5
1.8k
CoordinatorLayoutのBehaviorを使い倒す
seto_hi
1
400
Jetpack Compose
seto_hi
2
790
UI改善に繋がるエンジニアの立ち回り
seto_hi
2
4.7k
MDCのButtonのCorner Family
seto_hi
1
200
MDCのBottomAppBarのShadowの実現方法
seto_hi
0
990
Other Decks in Technology
See All in Technology
ソースを読むプロセスの例
sat
PRO
15
9.1k
技育祭2025【秋】 企業ピッチ/登壇資料(高橋 悟生)
hacobu
PRO
0
110
プレーリーカードを活用しよう❗❗デジタル名刺交換からはじまるイベント会場交流のススメ
tsukaman
0
180
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
8.8k
能登半島地震において デジタルができたこと・できなかったこと
ditccsugii
0
250
Introduction to Bill One Development Engineer
sansan33
PRO
0
300
PHPからはじめるコンピュータアーキテクチャ / From Scripts to Silicon: A Journey Through the Layers of Computing Hiroshima 2025 Edition
tomzoh
0
140
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3k
Dylib Hijacking on macOS: Dead or Alive?
patrickwardle
0
160
AWSでAgentic AIを開発するための前提知識の整理
nasuvitz
2
180
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
12
80k
Liquid AI Hackathon Tokyo プレゼン資料
aratako
0
110
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
27
2k
The Cult of Friendly URLs
andyhume
79
6.6k
Optimizing for Happiness
mojombo
379
70k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
600
Producing Creativity
orderedlist
PRO
347
40k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
The Illustrated Children's Guide to Kubernetes
chrisshort
49
51k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
GraphQLとの向き合い方2022年版
quramy
49
14k
Transcript
DroidKaigi 2018付録3 ノハナ社 の レイアウト戦略 株式会社ノハナ 瀬戸優之 @seto_hi
ノハナ社のレイアウト戦略 • レイアウトどうしたらいいの?の ノハナ的回答 • あくまで参考 • みんな違ってみんないい
Q1 Q. レイアウトエディタ使ってます? A. 使ってません ・意図しない要素が追加されるリスクが怖い ・エンジニアが楽をしても結局はQAコストになる
・ConstraintLayoutの属性はそんなに多くないです ・覚えましょう ※eclipse時代から開発しているのでxmlに慣れすぎている
Q2 Q. レイアウトのRootはすべてConstraintLayoutですか? A. 違います ConstraintLayoutな画面は多いですが、 measure回数が少なくなることと
保守性を考えて レイアウトを組みます
Measure回数 ViewGroup Measure回数 FrameLayout 自身のMeasureSpecがEXACTLYなら1回 それ以外は2回されるViewあり LinearLayout WeightがないViewは1回 WeightをあるViewはだいたい2回 RelativeLayout
2回 ConstraintLayout Viewのサイズが固定値なら1回 そうでなければ2〜最大3回 ただし別途複数回レイアウト計算が走る
ConstraintLayout利点 • 階層が浅くなりやすい ◦ 自由度が高い ◦ だいたいのレイアウトに対応できる!すごい! • RootをConstraintLayoutにすると、 レイアウトを大幅に変更しても対応しやすい
• 多機能 ◦ Groupなど
ConstraintLayout欠点 • 簡単なレイアウトには計算が多すぎる ◦ いい感じのレイアウトではmeasureがほぼ2回走る ◦ 現状の端末では十二分に高速だとは思うが.. ▪ 簡単なレイアウトなので複雑な計算しても高速 •
記述が多い ◦ 例えば縦組みレイアウトなら LinearLayoutの方が記述も少なく処理も高速 人間の目にも優しい
ノハナ流 ViewGroup決定メソッド LinearLayout RelativeLayout CosntraintLayout 縦 or 横一直線な レイアウト レイアウトが直近で
修正される可能性が 高い RelativeLayoutでも 実現できそう YES NO でもConstraintLayoutを 使うと楽
Q3 Q. 独自ViewGroupはいっぱいありますか? A. そんなには多くないです メンテナンス性を考えるとあまり作るべきでない ・どうしても既存のViewGroupでは実現できない
・measureとlayoutが複雑になりすぎない 場合にのみ作るようにしています