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.7k
ノハナ社のレイアウト戦略
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.7k
事業支援というお仕事
seto_hi
0
390
MDCの内部実装から学ぶ 表現力の高いViewの作り方
seto_hi
5
1.7k
CoordinatorLayoutのBehaviorを使い倒す
seto_hi
1
330
Jetpack Compose
seto_hi
2
700
UI改善に繋がるエンジニアの立ち回り
seto_hi
2
4.5k
MDCのButtonのCorner Family
seto_hi
1
140
MDCのBottomAppBarのShadowの実現方法
seto_hi
0
900
Other Decks in Technology
See All in Technology
LLMに日本語テキストを学習させる意義
ksaito
13
3.6k
AWS SAW を広めたい @四国クラウドお遍路
kazzpapa3
0
190
AWSを始めた頃に陥りがちなポイントをまとめてみた
oshanqq
1
3k
OCI コスト管理
ocise
1
150
株式会社M2X エンジニアチーム紹介資料
m2xsoftware
0
420
日経電子版から始まった内製開発の現在地と向き合っている課題/inhouse
nishiuma
0
240
Dify - LINE Bot連携 考え方と実用テクニック
uezo
5
1.1k
Binary Authorizationと友達になろう / Let's be friends with Binary Authorization
iselegant
2
140
中規模・ミドルTier開発組織におけるDevRelの戦略と実行と成果 - DevRel Guild Conference Mini -
leveragestech
2
280
EitherT_with_Future
aoiroaoino
1
900
実践的なバグバウンティ入門
scgajge12
4
2.2k
Our Journey from in-House CD System to Open Source
ffjlabo
0
110
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
28
2.2k
Web Components: a chance to create the future
zenorocha
308
41k
Become a Pro
speakerdeck
PRO
22
4.9k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
42
2k
Side Projects
sachag
451
42k
Speed Design
sergeychernyshev
19
410
The Power of CSS Pseudo Elements
geoffreycrofte
71
5.2k
Principles of Awesome APIs and How to Build Them.
keavy
125
16k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
25
1.3k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
27
7.4k
KATA
mclloyd
27
13k
A Tale of Four Properties
chriscoyier
155
22k
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が複雑になりすぎない 場合にのみ作るようにしています