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
35
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
30
Integrando seus Apps Android ao Firebase
ygorcesar
0
46
Other Decks in Technology
See All in Technology
API Gatewayと少し仲良くなってみた!
masuchoku
0
100
最近たまに見かけるTiDBってなんだ? - Findy
pingcap0315
2
760
リテール金融(キャッシュレス・ネット銀行・ネット証券)の競争環境と経済圏
8maki
0
180
FrontDoorとWebAppsを組み合わせた際のリダイレクト処理の注意点
kenichirokimura
1
500
ChatGPT for IT Service Management (IT Pro)
dahatake
7
1.5k
Azure Container Apps + Bicep 〜 こんな感じで運用しています
kaz29
2
450
Cracking the KubeCon CfP
inductor
2
230
ユーザーストーリーのレビューを自動化したみたの
bun913
1
410
Hands-on Gemini, the Google DeepMind LLM
meteatamel
1
110
Postman v10リリース後を振り返る
nagix
0
170
AOAI をきっかけに 社内の Azure 管理を見直した話
recruitengineers
PRO
1
260
ServiceNow Knowledge Learning Rise up
manarobot
0
200
Featured
See All Featured
Faster Mobile Websites
deanohume
299
30k
How GitHub Uses GitHub to Build GitHub
holman
468
290k
Unsuck your backbone
ammeep
663
57k
BBQ
matthewcrist
80
8.8k
The Language of Interfaces
destraynor
151
23k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
120
39k
What's new in Ruby 2.0
geeforr
337
31k
Designing for humans not robots
tammielis
248
25k
Building Better People: How to give real-time feedback that sticks.
wjessup
355
18k
VelocityConf: Rendering Performance Case Studies
addyosmani
320
23k
Testing 201, or: Great Expectations
jmmastey
28
6.3k
From Idea to $5000 a Month in 5 Months
shpigford
377
45k
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