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
Sho Masegi
September 28, 2018
Technology
820
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.3k
Migrate Swift 4.2 to 5.2
shomasegi
4
900
今更ながらEpoxy / Lateinit Epoxy
shomasegi
2
910
Other Decks in Technology
See All in Technology
全PRの83%が AIレビューだけでマージできるようになった開発組織は その後どうなったか @2026/10
athug
0
140
⾮構造化データを価値に変える AI エージェント基盤とその組織
ivry_presentationmaterials
0
150
USB PDを使ってスマホを労わりたい
raspython3
0
160
Cognition AI Japan - ウェビナー2_テストQA_運用監視
cogakira
0
140
Claude Code本は、どのように執筆チームで書かれたか
oikon48
1
360
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
1.5k
V8のArray.prototype.flatを最大約20倍速くするまでと、巨大OSSへの大規模コミットの道のり
riyaamemiya
0
280
Jetson Orin Nanoとk3sとローカルLLMで音声文字起こしシステム作ってみた
y_sera15
0
120
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
2
650
パッチ更新でterraform initが落ちた日
grimoh
1
120
ソフトウェア ファクトリー - 再現性のあるソフトウェアの工場づくり / Software factory
iktakahiro
3
1.1k
Benchmarking Disaggregated Serving on vLLM + Dynamo with a Real Coding-Agent Workload
nttcom
0
130
Featured
See All Featured
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
22k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
440
Optimising Largest Contentful Paint
csswizardry
37
4k
Typedesign – Prime Four
hannesfritz
42
3.2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Facilitating Awesome Meetings
lara
57
7.2k
Balancing Empowerment & Direction
lara
6
1.3k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
730
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
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