ノハナ社のレイアウト戦略
by
HiroYUKI Seto
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
DroidKaigi 2018付録3 ノハナ社 の レイアウト戦略 株式会社ノハナ 瀬戸優之 @seto_hi
Slide 2
Slide 2 text
ノハナ社のレイアウト戦略 ● レイアウトどうしたらいいの?の ノハナ的回答 ● あくまで参考 ● みんな違ってみんないい
Slide 3
Slide 3 text
Q1 Q. レイアウトエディタ使ってます? A. 使ってません ・意図しない要素が追加されるリスクが怖い ・エンジニアが楽をしても結局はQAコストになる ・ConstraintLayoutの属性はそんなに多くないです ・覚えましょう ※eclipse時代から開発しているのでxmlに慣れすぎている
Slide 4
Slide 4 text
Q2 Q. レイアウトのRootはすべてConstraintLayoutですか? A. 違います ConstraintLayoutな画面は多いですが、 measure回数が少なくなることと 保守性を考えて レイアウトを組みます
Slide 5
Slide 5 text
Measure回数 ViewGroup Measure回数 FrameLayout 自身のMeasureSpecがEXACTLYなら1回 それ以外は2回されるViewあり LinearLayout WeightがないViewは1回 WeightをあるViewはだいたい2回 RelativeLayout 2回 ConstraintLayout Viewのサイズが固定値なら1回 そうでなければ2〜最大3回 ただし別途複数回レイアウト計算が走る
Slide 6
Slide 6 text
ConstraintLayout利点 ● 階層が浅くなりやすい ○ 自由度が高い ○ だいたいのレイアウトに対応できる!すごい! ● RootをConstraintLayoutにすると、 レイアウトを大幅に変更しても対応しやすい ● 多機能 ○ Groupなど
Slide 7
Slide 7 text
ConstraintLayout欠点 ● 簡単なレイアウトには計算が多すぎる ○ いい感じのレイアウトではmeasureがほぼ2回走る ○ 現状の端末では十二分に高速だとは思うが.. ■ 簡単なレイアウトなので複雑な計算しても高速 ● 記述が多い ○ 例えば縦組みレイアウトなら LinearLayoutの方が記述も少なく処理も高速 人間の目にも優しい
Slide 8
Slide 8 text
ノハナ流 ViewGroup決定メソッド LinearLayout RelativeLayout CosntraintLayout 縦 or 横一直線な レイアウト レイアウトが直近で 修正される可能性が 高い RelativeLayoutでも 実現できそう YES NO でもConstraintLayoutを 使うと楽
Slide 9
Slide 9 text
Q3 Q. 独自ViewGroupはいっぱいありますか? A. そんなには多くないです メンテナンス性を考えるとあまり作るべきでない ・どうしても既存のViewGroupでは実現できない ・measureとlayoutが複雑になりすぎない 場合にのみ作るようにしています