Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
ConstraintLayout : Flow
Nabe
June 12, 2019
Programming
0
630
ConstraintLayout : Flow
帰ってきた関西モバイルアプリ研究会#2
https://kanmoba.connpass.com/event/134059/
Nabe
June 12, 2019
Tweet
Share
More Decks by Nabe
See All by Nabe
Jetpack ComposeのTalkback対応/Improve Talkback in Jetpack Compose
numeroanddev
0
150
Baseline Profilesでアプリのパフォーマンスを向上させる / Improve app performance with Baseline Profiles
numeroanddev
0
440
Jetpack Composeでアプリを開発して遭遇した問題
numeroanddev
0
390
Material3(Material You) の変更点 / Changes in Material3(Material You)
numeroanddev
4
1k
Refreshing widgets in Android 12
numeroanddev
2
370
既存のAndroidプロジェクトを Jetpack Composeに移行してみる / Migrate existing Android project to Jetpack Compose
numeroanddev
1
600
Material Motion
numeroanddev
0
370
Material Components for Android 1.2.0 and 1.3.0
numeroanddev
0
1.5k
Material Components for Android 1.1.0 and 1.2.0
numeroanddev
1
540
Other Decks in Programming
See All in Programming
Qiita Night PHP 2023
fuwasegu
0
11k
jq at the Shortcuts
cockscomb
1
430
Becoming an Android Librarian (Android World Wide 2023 Jan)
skydoves
2
220
Listかもしれない
irof
1
280
Use KMM to call the API of the National Tax Agency
akkeylab
0
300
(新米)エンジニアリングマネージャーのしごと #RSGT2023
murabayashi
9
5.8k
Findy - エンジニア向け会社紹介 / Findy Letter for Engineers
findyinc
2
42k
42tokyo-born2beroot-review
love42
0
110
How to Fight Production Incidents?
asatarin
0
210
レガシーフレームワークからの移行
ug
0
120
量子コンピュータ時代のプログラミングセミナー / 20230119_Amplify_seminar _shift_optimization
fixstars
0
190
ペパカレで入社した私が感じた2つのギャップと向き合い方
kosuke_ito
0
290
Featured
See All Featured
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
101
6.2k
Become a Pro
speakerdeck
PRO
6
3.2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
270
12k
Art, The Web, and Tiny UX
lynnandtonic
284
18k
Build The Right Thing And Hit Your Dates
maggiecrowley
22
1.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
56
2.5k
What's in a price? How to price your products and services
michaelherold
233
9.7k
Raft: Consensus for Rubyists
vanstee
130
5.7k
Testing 201, or: Great Expectations
jmmastey
25
5.7k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
120
29k
Support Driven Design
roundedbygravity
88
8.9k
Three Pipe Problems
jasonvnalue
89
8.9k
Transcript
$POTUSBJOU-BZPVU'MPX ؔϞό ,B[VLJ8BUBOBCF
1SPpMF w ͳ w 5XJUUFS!/BCF$PUU w (JU)VC/6NFSP"OE%FW w 'FOSJS*OD w
"OESPJE"QQ%FWFMPQFS
8IBU`T'MPX w $POTUSBJOU-BZPVUBMQIB͔Β w 'MFYCPYͷΑ͏ͳϨΠΞτΛ࣮ݱͰ͖Δ w 7JFXͷ֊ΛϑϥοτʹอͯΔ w .PUJPO-BZPVUͱΈ߹ΘͤΔ͜ͱ͕Ͱ͖Δ
#BTJD <com.google.android.material.button.MaterialButton android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button1" /> <com.google.android.material.button.MaterialButton android:id="@+id/button2" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="Button2" /> …
#BTJD <androidx.constraintlayout.helper.widget.Flow android:id="@+id/flowLayout" android:layout_width="0dp" android:layout_height="wrap_content" android:orientation=“horizontal” app:constraint_referenced_ids=“button1,button2,butt…” app:flow_wrapMode="aligned" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" />
#BTJD w Πϝʔδ
0SJFOUBUJPO w )PSJ[POUBM android:orientation="horizontal" w 7FSUJDBM android:orientation="vertical"
w )PSJ[POUBM w 7FSUJDBM 0SJFOUBUJPO
XSBQ.PEF w /POF app:flow_wrapMode="none" w $IBJO app:flow_wrapMode="chain" w "MJHO app:flow_wrapMode="none"
w $IBJO w "MJHO XSBQ.PEF
NBY&MFNFOUT8SBQ app:flow_maxElementsWrap=“integer"
NBY&MFNFOUT8SBQ
0UIFSBUUSJCVUFT w $IBJO4UZMF app:flow_verticalStyle="packed|spread|spread_inside" app:flow_horizontalStyle="packed|spread|spread_inside" w #JBT app:flow_verticalBias="float" app:flow_horizontalBias="float" w
"MJHO app:flow_horizontalAlign="start|end|center" app:flow_verticalAlign="top|bottom|center|baseline" w (BQ app:flow_verticalGap="dimension" app:flow_horizontalGap="dimension"
8JUI.PUJPO-BZPVU
<ConstraintSet android:id="@+id/start"> <Constraint android:id="@id/flowLayout"> <Layout android:layout_width="0dp" android:layout_height="wrap_content" motion:constraint_referenced_ids=“button1,button2,butt…” motion:layout_constraintEnd_toEndOf="parent" motion:layout_constraintStart_toEndOf="@id/sideLayout"
motion:layout_constraintTop_toTopOf="parent" /> </Constraint> <Constraint android:id="@id/button1"> <Layout android:layout_width="92dp" android:layout_height="92dp" /> </Constraint> … </ConstraintSet> 8JUI.PUJPO-BZPVU
<ConstraintSet android:id="@+id/end"> <Constraint android:id="@id/flowLayout"> <Layout android:layout_width="42dp" android:layout_height="0dp" motion:constraint_referenced_ids=“button2,button3,…” motion:layout_constraintBottom_toBottomOf="parent" motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toEndOf="@id/sideLayout" motion:layout_constraintTop_toTopOf="parent" /> </Constraint> <Constraint android:id="@id/button1"> <Layout android:layout_width="120dp" android:layout_height="120dp" android:layout_marginTop="24dp" motion:layout_constraintEnd_toEndOf="@id/sideLayout" motion:layout_constraintStart_toStartOf="parent" motion:layout_constraintTop_toTopOf="parent" /> </Constraint> <Constraint android:id="@id/button2"> <Layout android:layout_width="42dp" android:layout_height="42dp" /> </Constraint> … </ConstraintSet> 8JUI.PUJPO-BZPVU
None
None
None
w IUUQTBOESPJETUVEJPHPPHMFCMPHDPN DPOTUSBJOUMBZPVUBMQIBIUNM w IUUQTBOESPJETUVEJPHPPHMFCMPHDPN DPOTUSBJOUMBZPVUCFUBIUNM w IUUQTEFWFMPQFSBOESPJEDPNSFGFSFODFBOESPJE TVQQPSUDPOTUSBJOUIFMQFS'MPXIUNM