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 : Flow
Search
Nabe
June 12, 2019
Programming
0
1k
ConstraintLayout : Flow
帰ってきた関西モバイルアプリ研究会#2
https://kanmoba.connpass.com/event/134059/
Nabe
June 12, 2019
Tweet
Share
More Decks by Nabe
See All by Nabe
GraphicsLayerのBitmap作成
numeroanddev
0
110
GraphQLとGigaViewer for Apps
numeroanddev
4
1.2k
Android アプリのプロジェクトをモダンにし続ける工夫
numeroanddev
1
620
Material 3で Material 2ぽい見た目にする
numeroanddev
2
510
Google I/O 2023 の 個人的おすすめセッションの紹介 / Introducing interesting sessions at Google IO 2023
numeroanddev
1
370
Jetpack ComposeのTalkback対応/Improve Talkback in Jetpack Compose
numeroanddev
0
460
Baseline Profilesでアプリのパフォーマンスを向上させる / Improve app performance with Baseline Profiles
numeroanddev
0
860
Jetpack Composeでアプリを開発して遭遇した問題
numeroanddev
0
660
Material3(Material You) の変更点 / Changes in Material3(Material You)
numeroanddev
4
1.4k
Other Decks in Programming
See All in Programming
2025.01.17_Sansan × DMM.swift
riofujimon
2
560
HTML/CSS超絶浅い説明
yuki0329
0
190
DMMオンラインサロンアプリのSwift化
hayatan
0
190
Итераторы в Go 1.23: зачем они нужны, как использовать, и насколько они быстрые?
lamodatech
0
1.4k
サーバーゆる勉強会 DBMS の仕組み編
kj455
1
300
PSR-15 はあなたのための ものではない? - phpcon2024
myamagishi
0
410
毎日13時間もかかるバッチ処理をたった3日で60%短縮するためにやったこと
sho_ssk_
1
550
生成AIでGitHubソースコード取得して仕様書を作成
shukob
0
630
React 19でお手軽にCSS-in-JSを自作する
yukukotani
5
570
情報漏洩させないための設計
kubotak
5
1.3k
AppRouterを用いた大規模サービス開発におけるディレクトリ構成の変遷と問題点
eiganken
1
450
「とりあえず動く」コードはよい、「読みやすい」コードはもっとよい / Code that 'just works' is good, but code that is 'readable' is even better.
mkmk884
6
1.4k
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
521
39k
Practical Orchestrator
shlominoach
186
10k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.5k
Building Adaptive Systems
keathley
38
2.4k
Side Projects
sachag
452
42k
The World Runs on Bad Software
bkeepers
PRO
66
11k
A Philosophy of Restraint
colly
203
16k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
870
Embracing the Ebb and Flow
colly
84
4.5k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
98
18k
We Have a Design System, Now What?
morganepeng
51
7.3k
Producing Creativity
orderedlist
PRO
343
39k
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