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
Constraintlayout
Search
Ygor César
May 26, 2018
Technology
0
44
Constraintlayout
Ygor César
May 26, 2018
Tweet
Share
More Decks by Ygor César
See All by Ygor César
Making your life easier with CustomViews
ygorcesar
0
42
Integrando seus Apps Android ao Firebase
ygorcesar
0
57
Other Decks in Technology
See All in Technology
これでもう迷わない!Jetpack Composeの書き方実践ガイド
zozotech
PRO
0
1.1k
データ分析エージェント Socrates の育て方
na0
8
2.8k
サラリーマンの小遣いで作るtoCサービス - Cloudflare Workersでスケールする開発戦略
shinaps
2
470
「どこから読む?」コードとカルチャーに最速で馴染むための実践ガイド
zozotech
PRO
0
570
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
480
新規プロダクトでプロトタイプから正式リリースまでNext.jsで開発したリアル
kawanoriku0
1
220
COVESA VSSによる車両データモデルの標準化とAWS IoT FleetWiseの活用
osawa
1
400
メルカリIBISの紹介
0gm
0
490
「その開発、認知負荷高すぎませんか?」Platform Engineeringで始める開発者体験カイゼン術
sansantech
PRO
2
920
slog.Handlerのよくある実装ミス
sakiengineer
4
480
2つのフロントエンドと状態管理
mixi_engineers
PRO
3
160
「Linux」という言葉が指すもの
sat
PRO
4
140
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
Building Adaptive Systems
keathley
43
2.7k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
How to Ace a Technical Interview
jacobian
279
23k
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
The Language of Interfaces
destraynor
161
25k
Designing for humans not robots
tammielis
253
25k
Faster Mobile Websites
deanohume
309
31k
Side Projects
sachag
455
43k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Transcript
ConstraintLayout Ygor César Android Developer
ViewGroup • FrameLayout • FlexboxLayout • GridLayout • RelativeLayout •
LinearLayout • TableLayout • GridView • Entre outros...
Evitar hierarquia de views profunda (O chamado layout orientado a
Hadouken)
None
Performance
E então o ConstraintLayout
• Flat View Hieararchy • Fácil de usar com o
Editor de Layouts do Android Studio • Compatível com versões do Android acima da versão 2.3 (Api Level 9) • Xml continua legível • Biblioteca separada
Adicionar dependência ao Build.gradle dependencies { compile 'com.android.support.constraint:constraint-layout:1.1.0' }
Layouts existentes
None
Constraints
Realize ajustes em sua View 1. Aspect Ratio 2. Crie/Delete
uma Constraint 3. Height/Width 4. Margin 5. Bias
Chain
Chain Spread Chain Spread Inside Chain Packed Chain
Groups
Groups <android.support.constraint.Group android:id="@+id/group" android:layout_width="wrap_content" android:layout_height="wrap_content" app:constraint_referenced_ids="button_load,textview_status" />
Guideline
Guideline <android.support.constraint.Guideline android:id="@+id/guideline" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" app:layout_constraintGuide_begin="16dp" />
Já acabou?
Ainda não
Barriers
Barriers
Barriers <android.support.constraint.Barrier android:id="@+id/barrier7" android:layout_width="wrap_content" android:layout_height="wrap_content" app:barrierDirection="end" app:constraint_referenced_ids="textView2,textView1" />
Circular Positioning
Circular Positioning <Button android:id="@+id/buttonA" ... /> <Button android:id="@+id/buttonB" … app:layout_constraintCircle="@+id/buttonA"
app:layout_constraintCircleRadius="100dp" app:layout_constraintCircleAngle="45" />
Layer
Layer <android.support.constraint.Layer android:id="@+id/group" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background=”@color/colorPrimary” app:constraint_referenced_ids="button_load,textview_status" />
Placeholder
Placeholder <android.support.constraint.Placeholder android:id="@+id/template_action" android:layout_width="48dp" android:layout_height="48dp" app:content="@+id/save" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" />
Placeholder placeHolderView.setContentId(R.id.my_view_id)
Obrigado!
Agora acabou!!!
[email protected]
/ygorcesar