Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Material Components ことはじめ / Get Started Materia...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Sho Masegi
September 28, 2018
Technology
830
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Material Components ことはじめ / Get Started Material Components
Sho Masegi
September 28, 2018
More Decks by Sho Masegi
See All by Sho Masegi
独自の共通認証基盤を用いているサービスでアカウント削除機能を提供したときの道程
shomasegi
1
3.4k
Migrate Swift 4.2 to 5.2
shomasegi
4
910
今更ながらEpoxy / Lateinit Epoxy
shomasegi
2
910
Other Decks in Technology
See All in Technology
バックオフィスに染み出すTypeScript ── clasp で安全に仕組みを作る
nealle
1
180
生き様としてのSRE
hokkai7go
1
170
Autonomous AI Lakehouse - Live AI Hubから始めるセキュアなAIデータ活用 -
oracle4engineer
PRO
3
190
Software Engineering in an AI-Driven World
erikjhordan_rey
0
120
サボる子はいねぇがー!AgentCoreハーネスの脆弱性に学ぶ、エージェントの入力バリデーション
iwamot
PRO
4
280
レガシーコードに対する loop engineering的なAI開発プロセス導入について
kubell_hr
0
270
業務でAWSをあまり使っていない私が、AWSへのモチベを保つ方法
smt7174
0
160
E2Eってつらくないですか?E2Eの管理コストを下げる手段とその実践
akaboshinit
6
3k
re:Invent の去年のスケジュールを公開します!
miu_crescent
PRO
0
300
AWSを利用する上で知っておきたい名前解決の話 2026
nagisa53
4
3k
AI AgentによるEmbedded SREの取り組み
tgidgd
1
350
攻撃 3 時間 vs 復旧 10 時間。アクセスキー流出の非対称性を体感するために CTF を作った話
kazzpapa3
1
150
Featured
See All Featured
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
350
Facilitating Awesome Meetings
lara
57
7.2k
Everyday Curiosity
cassininazir
0
390
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Thoughts on Productivity
jonyablonski
76
5.5k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
Leo the Paperboy
mayatellez
10
2.4k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Designing Experiences People Love
moore
143
24k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
900
The Curious Case for Waylosing
cassininazir
1
610
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Transcript
Material Components ͜ͱ͡Ίɹ Sho Masegi
ࣗݾհ • όέπඃͬͯ·͢ɻ • େֶੜͰ͢ɻ • Androidɺ࣌ʑiOS • ॳΊͯͷLT @boc_sho
Material Componentsͱʁ Material DesignΛ࣮ݱ͢ΔͨΊͷUI෦܈ ͷ͜ͱɻ ࠷ۙɺ1.0.0͕ϦϦʔε͞Εͨ
ࠓճ͢͜ͱ - BottomAppBar - Chip
ͬͨ͜ͱ͋Δํ͍·͔͢ʁ
ກΛଓ͚͍ͯͩ͘͞ɻ
Material Components in library - AppBarLayout - Backdrop - Banner
- BottomAppBar - BottomNavigationView - BottomSheetBehavior - BottomSheetDialogFragment - CheckBox - Chip - CollapsingToolbarLayout - DataTable - Dialog - Divider - ExtendedFloatingActionButton - FloatingActionButton - ImageList - List - MaterialButton - MaterialCardView - Menu - NavigationView - ProgressIndicator - RadioButton - SideSheetBehavior - Slider - Snackbar - Switch - TabLayout - TextInputLayout - Tooltip
New Components - AppBarLayout - Backdrop - Banner - BottomAppBar
- BottomNavigationView - BottomSheetBehavior - BottomSheetDialogFragment - CheckBox - Chip - CollapsingToolbarLayout - DataTable - Dialog - Divider - ExtendedFloatingActionButton - FloatingActionButton - ImageList - List - MaterialButton - MaterialCardView - Menu - NavigationView - ProgressIndicator - RadioButton - SideSheetBehavior - Slider - Snackbar - Switch - TabLayout - TextInputLayout - Tooltip
ݱࡏ͑Δͷ…. ( - 1.0.0) - AppBarLayout - Backdrop - Banner
- BottomAppBar - BottomNavigationView - BottomSheetBehavior - BottomSheetDialogFragment - CheckBox - Chip - CollapsingToolbarLayout - DataTable - Dialog - Divider - ExtendedFloatingActionButton - FloatingActionButton - ImageList - List - MaterialButton - MaterialCardView - Menu - NavigationView - ProgressIndicator - RadioButton - SideSheetBehavior - Slider - Snackbar - Switch - TabLayout - TextInputLayout - Tooltip
ݱࡏ͑Δͷ…. - BottomAppBar - Chip - MaterialButton - MaterialCardView -
TextInputLayout
ͬͯΈΑ͏ʂ
४උ allprojets { repositories { google() jcenter() } } build.gradle
४උ dependencies { // . . . implementation ‘com.google.android.material:material:1.0.0’ //
. . . } build.gradle
४උ android { compileSdkVersion 28 defaultConfig { // . .
. build.gradle
४උ ThemeΛ”Theme.MaterialComponents.~”ʹ͑Δ <style name=“AppTheme” parent=“Theme.MaterialComponents.Light.NoActionBar”>
४උ AndroidXʹϦϑΝΫλϦϯά͢Δ Refactor -> Migrate to AndroidX
४උྃʂ
BottomAppBar
BottomAppBar <androidx.coordinatorlayout.widget.CoordinatorLayout > <com.google.android.material.bottomappbar.BottomAppBar . . . app:backgroundTint="@color/colorPrimary" app:fabAlignmentMode="center" app:fabAttached="true"
app:navigationIcon="@drawable/menu"/> <com.google.android.material.floatingactionbutton.FloatingActionButton . . . app:layout_anchor="@id/bottom_app_bar" /> </androidx.coordinatorlayout.widget.CoordinatorLayout>
BottomAppBar <androidx.coordinatorlayout.widget.CoordinatorLayout > <com.google.android.material.bottomappbar.BottomAppBar . . . app:backgroundTint="@color/colorPrimary" app:fabAlignmentMode="center" app:fabAttached="true"
app:navigationIcon="@drawable/menu"/> <com.google.android.material.floatingactionbutton.FloatingActionButton . . . app:layout_anchor="@id/bottom_app_bar" /> </androidx.coordinatorlayout.widget.CoordinatorLayout>
- fabAlignmentMode - fabCradleMargin - fabCradleRoundedCornerRadius - fabCradleVerticalOffset BottomAppBarͷଐੑ
- fabAlignmentMode BottomAppBarͷଐੑ start end
- fabCradleMargin BottomAppBarͷଐੑ default 10dp
- fabCradleRoundedCornerRadius BottomAppBarͷଐੑ default 30dp
- fabCradleVerticalOffset BottomAppBarͷଐੑ default 15dp
Chip
Chip <com.google.android.material.chip.ChipGroup . . . app:chipSpacing="4dp" app:chipSpacingHorizontal="2dp" app:chipSpacingVertival="2dp" app:singleSelection=“true” app:singleLine=“true"/>
<com.google.android.material.chip.Chip . . . /> </com.google.android.material.chip.ChipGroup>
Chip <com.google.android.material.chip.ChipGroup . . . app:chipSpacing="4dp" app:chipSpacingHorizontal="2dp" app:chipSpacingVertival="2dp" app:singleSelection=“true” app:singleLine=“true"/>
<com.google.android.material.chip.Chip . . . /> </com.google.android.material.chip.ChipGroup>
ChipGroup: singleLine false true
Chip val chip = Chip(context) chip.text = "Chip" chip.chipIcon =
ContextCompat.getDrawable(requiredContext(), icon) chip.isCloseIconEnabled = true chip.isCheckable = false chipGroup.addView(chip as View) chip.setOnCloseIconClickListener { chipGroup.removeView(chip as View) } - ChipͷՃํ๏
Chip val chip = Chip(context) chip.text = "Chip" chip.chipIcon =
ContextCompat.getDrawable(requiredContext(), icon) chip.isCloseIconEnabled = true chip.isCheckable = false chip.setOnCloseIconClickListener { chipGroup.removeView(chip as View) } chipGroup.addView(chip as View) - ChipͷՃํ๏
Chip chip.chipIcon = locationIcon chip.isCloseIconEnabled = true chip.setOnCloseIconClickListener { …
} chip.isCheckable = true
MaterialButton MaterialCardView TextInputLayout ʹ͍ͭͯ. . . .
CodelabͰʂ
https:// codelabs.developers.google.com/ codelabs/mdc-101-kotlin/#0
͜Μͳྑ͍ͷΛ༻ҙ͠ ͯ͘ΕΔͳΜͯ. . . .
Google࠷ߴʂ
Android࠷ߴʂ
Material Design Roadmap
Material Design Roadmap
Material Design Roadmap
None