Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Material Components for Android 1.1.0 and 1.2.0
Search
Nabe
November 07, 2019
Programming
1
900
Material Components for Android 1.1.0 and 1.2.0
Nabe
November 07, 2019
Tweet
Share
More Decks by Nabe
See All by Nabe
カクヨムAndroidアプリのリブート
numeroanddev
0
550
GraphicsLayerのBitmap作成
numeroanddev
0
210
GraphQLとGigaViewer for Apps
numeroanddev
4
4.2k
Android アプリのプロジェクトをモダンにし続ける工夫
numeroanddev
1
720
Material 3で Material 2ぽい見た目にする
numeroanddev
2
620
Google I/O 2023 の 個人的おすすめセッションの紹介 / Introducing interesting sessions at Google IO 2023
numeroanddev
1
450
Jetpack ComposeのTalkback対応/Improve Talkback in Jetpack Compose
numeroanddev
0
550
Baseline Profilesでアプリのパフォーマンスを向上させる / Improve app performance with Baseline Profiles
numeroanddev
0
940
Jetpack Composeでアプリを開発して遭遇した問題
numeroanddev
0
730
Other Decks in Programming
See All in Programming
Integrating WordPress and Symfony
alexandresalome
0
160
AIコードレビューがチームの"文脈"を 読めるようになるまで
marutaku
0
360
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
2.7k
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
haru860
0
270
マスタデータ問題、マイクロサービスでどう解くか
kts
0
110
Cell-Based Architecture
larchanjo
0
130
開発に寄りそう自動テストの実現
goyoki
2
1.1k
宅宅自以為的浪漫:跟 AI 一起為自己辦的研討會寫一個售票系統
eddie
0
510
Cap'n Webについて
yusukebe
0
140
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
350
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
510
非同期処理の迷宮を抜ける: 初学者がつまづく構造的な原因
pd1xx
1
730
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
246
13k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
286
14k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Writing Fast Ruby
sferik
630
62k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
710
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Transcript
.BUFSJBM$PNQPOFOUT GPS"OESPJE BOE "OESPJE%FW4VNNJUใࠂձ ,B[VLJ8BUBOBCF
1SPpMF w ͳ w 5XJUUFS!/BCF$PUU w (JU)VC/6NFSP"OE%FW w ͯͳ w
"OESPJE"QQ%FWFMPQFS
NBUFSJBMDPNQPOFOUTCFUB
CFUB w .BUFSJBM5IFNJOH w $PMPS 4IBQF 5ZQPHSBQIZ5IFNJOH w %BSL5IFNF
w /FX$PNQPOFOUT w 6QEBUF$PNQPOFOUT w #VHpYFUD IUUQTHJUIVCDPNNBUFSJBMDPNQPOFOUTNBUFSJBMDPNQPOFOUTBOESPJESFMFBTFTUBHCFUB
CFUB w .BUFSJBM5IFNJOH w $PMPS 4IBQF 5ZQPHSBQIZ5IFNJOH w %BSL5IFNF
w /FX$PNQPOFOUT w 6QEBUF$PNQPOFOUT w #VHpYFUD
"OESPJE%FW4VNNJU %FWFMPQJOH5IFNFTXJUI4UZMF IUUQTZPVUVCF0XLG%I"04P
/FX$PNQPOFOUT w &YUFOEFE'MPBUJOH"DUJPO#VUUPO w .BUFSJBM#VUUPO5PHHMF(SPVQ w .BUFSJBM%BUF1JDLFS
&YUFOEFE'"#
&YUFOEFE'"# <com.google.android.material.floatingactionbutton.ExtendedF loatingActionButton android:id="@+id/extendedFab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|end" android:text="Create" app:icon="@drawable/ic_add" />
&YUFOEFE'"# extendedFab.extend() extendedFab.shrink()
.BUFSJBM#VUUPO5PHHMF(SPVQ
.BUFSJBM#VUUPO5PHHMF(SPVQ <com.google.android.material.button.MaterialButtonToggleGroup android:id="@+id/singleSelectToggleGroup" android:layout_width="wrap_content" android:layout_height="wrap_content" app:singleSelection="true"> <com.google.android.material.button.MaterialButton style=“?attr/materialButtonOutlinedStyle" android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="Select1" /> <com.google.android.material.button.MaterialButton style="?attr/materialButtonOutlinedStyle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Select2" /> </com.google.android.material.button.MaterialButtonToggleGroup>
.BUFSJBM#VUUPO5PHHMF(SPVQ w DIFDLFE#VUUPO*EDIFDLFE#VUUPO*ET w DIFDL JE*OU VODIFDL JE*OU w
BEE0O#VUUPO$IFDLFE-JTUFOFS w DMFBS$IFDLFE w "OENPSFʜ
.BUFSJBM%BUF1JDLFS
.BUFSJBM%BUF1JDLFS val datePickerFragment = MaterialDatePicker.Builder.datePicker().build() val dateRangePickerFragment = MaterialDatePicker.Builder.dateRangePicker().build()
.BUFSJBM%BUF1JDLFS w TFU4FMFDUJPO E-POH TFU4FMFDUJPO E1BJS-POH -POH w
TFU5IFNF NBUFSJBM$BMFOEBS'VMMTDSFFO5IFNF NBUFSJBM$BMFOEBS5IFNF DVTUPNUIFNF
.BUFSJBM%BUF1JDLFS w TFU$BMFOEBS$POTUSBJOU D$BMFOEBS$POTUSBJOUT -JNJUUIFEJTQMBZSBOHFPGDBMFOEBSBOETFUBOPQFO"UNPOUI w TFU4UBSU E-POH TFU&OE
E-POH w TFU0QFO"U E-POH w TFU7BMJEBUPS WBMJEBUPS%BUF7BMJEBUPS %BUF7BMJEBUPS1PJOU'PSXBSE DMBTTUIBUJNQMFNFOUFE%BUF7BMJEBUPS
NBUFSJBMDPNQPOFOUTBMQIB
BMQIB w "EEFE4MJEFS w .BUFSJBM#VUUPO5PHHMF(SPVQTVQQPSUTWFSUJDBM PSJFOUBUJPO w "OENPSFVQEBUFT IUUQTHJUIVCDPNNBUFSJBMDPNQPOFOUTNBUFSJBMDPNQPOFOUTBOESPJESFMFBTFTUBHBMQIB
4MJEFS
4MJEFS <com.google.android.material.slider.Slider android:id="@+id/discreteSlider" android:layout_width="0dp" android:layout_height="wrap_content" android:stepSize="10" android:value="10" android:valueFrom="0.0" android:valueTo="100.0" app:floatingLabel="true"
/>
4MJEFS w TFU0O$IBOHF-JTUFOFS w TFU-BCFM'PSNBUUFS #BTJD-BCFM'PSNBUUFS DMBTTUIBUJNQMFNFOUFE-BCFM'PSNBUUFS
+FUQBDL$PNQPTF
5IBOLZPV