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
Material Components for Android 1.1.0 and 1.2.0
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Nabe
November 07, 2019
Programming
930
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Material Components for Android 1.1.0 and 1.2.0
Nabe
November 07, 2019
More Decks by Nabe
See All by Nabe
カクヨムAndroidアプリのリブート
numeroanddev
0
650
GraphicsLayerのBitmap作成
numeroanddev
0
230
GraphQLとGigaViewer for Apps
numeroanddev
4
4.6k
Android アプリのプロジェクトをモダンにし続ける工夫
numeroanddev
1
780
Material 3で Material 2ぽい見た目にする
numeroanddev
2
660
Google I/O 2023 の 個人的おすすめセッションの紹介 / Introducing interesting sessions at Google IO 2023
numeroanddev
1
500
Jetpack ComposeのTalkback対応/Improve Talkback in Jetpack Compose
numeroanddev
0
590
Baseline Profilesでアプリのパフォーマンスを向上させる / Improve app performance with Baseline Profiles
numeroanddev
0
1k
Jetpack Composeでアプリを開発して遭遇した問題
numeroanddev
0
760
Other Decks in Programming
See All in Programming
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
3
1.1k
ふつうのFeature Flag実践入門
irof
7
3.6k
These Five Tricks Can Make Your Apps Greener, Cheaper, & Nicer
hollycummins
0
270
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
500
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
17
6.1k
Oxcを導入して開発体験が向上した話
yug1224
4
290
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
110
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.1k
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
130
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
340
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
440
関係性から理解する"同一性"の型用語たち
pvcresin
2
640
Featured
See All Featured
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
380
The Cult of Friendly URLs
andyhume
79
6.9k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Building the Perfect Custom Keyboard
takai
2
780
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
170
Test your architecture with Archunit
thirion
1
2.3k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
220
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
190
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
190
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