SlideShare a Scribd company logo
1 of 71
Download to read offline
PapercraftMaterial design + implementation
Material Design for Developers
A long time ago…
majorgeeks.com zdnet.comcomputer.howstuffworks.com
Gmail.com Android Mobile Web
2011
theverge.com
loliboat.wordpress.com
Holo
smartphoneblogging.com
Gmail for Android
(Holo)
Gmail.com
(Kennedy)
smartphoneblogging.com
Gmail for Android
(Holo)
Gmail.com
(Kennedy)
This was an industry-wide problem.
M AT E R I A L D E S I G N
A coherent cross-platform
experience
A coherent cross-platform
experience
A more flexible design system
for Android
A coherent cross-platform
experience
A more flexible design system
for Android
A rational approach to visual,
interaction, and motion design
Applied Material
Tangible
surfaces
Print-like
design
Meaningful
motion
Adaptive
design
Tangible
surfaces
Print-like
design
Meaningful
motion
Adaptive
design
Tangible
surfaces
Print-like
design
Meaningful
motion
Adaptive
design
Tangible
surfaces
Print-like
design
Meaningful
motion
Adaptive
design
Tangible
surfaces
Print-like
design
Meaningful
motion
Adaptive
design
Tangible surfaces1
Interaction cues
(scrolling and pinning)
Surface
reaction
<div id="myCard" class="card"></div>

<paper-shadow id="myShadow" z="1"></div>



// Assign a target explicitly

myShadow.target =
document.getElementById('myCard');



// Auto-assign the target.

<div class="card">

<paper-shadow z="1"></paper-shadow>

</div>
paper-focusable
paper-button-base
paper-button
active
focused
pressed
disabled
isToggle
raised
recenteringTouch
fill
<paper-button>flat button</paper-button>

<paper-button raised>raised button</paper-button>
paper-focusable
paper-button-base
paper-fab
icon
src
mini
<paper-fab icon="add"></paper-fab>

<paper-fab mini icon="favorite"></paper-fab>

<paper-fab src="star.png"></paper-fab>
View elevation
View plane
Permanent
z-depth of view
elevation
Transient
z delta
translationZ
Z = elevation + translationZ
<ImageView
...
android:elevation="8dp" />
view.animate().translationZ(…).start();
View elevation
<ImageView
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:elevation="8dp"
android:stateListAnimator=“@anim/my_state_list_animator”
... />
StateListAnimator
Note: the Button provides this automatically
Outline
A view’s outline defines the shadow it casts
By default, the outline is derived from the view’s background
<shape android:shape="oval">
<solid android:color=“@color/blue“ />
</shape>
Custom outline: see OutlineProvider
A card is a piece of paper
that contains a unique
data set of related,
heterogeneous
information.
Cards
A card is a piece of paper
that contains a unique
data set of related,
heterogeneous
information.
Cards
outline
elevation
Cards
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content">
!
<!-- Your card content -->
!
</android.support.v7.widget.CardView>
Don’t over
cardify!
x
Print-like design2
Refined
typography
Refined
typography
Typographic
scale
Display 4
!
Display 3
!
Display 2
!
Display 1
!
Headline
!
Title
!
Subhead
!
Body 2
!
Body 1
!
Caption
!
Menu
!
Button
Baseline
grids +
keylines
NOTHING
TO SEE
HERE
Baseline
grids +
keylines
Bold
color
Primary
+
Accent
<style name=“MyTheme”
parent=“android:Theme.Material.Light.DarkActionBar”>
<item name=“android:colorPrimary">@color/indigo_500</item>
<item name=“android:colorPrimaryDark">@color/indigo_700</item>
<item name=“android:colorAccent”>@color/teal_a200</item>
</style>
colorPrimary
<style name=“MyTheme”
parent=“android:Theme.Material.Light.DarkActionBar”>
<item name=“android:colorPrimary">@color/indigo_500</item>
<item name=“android:colorPrimaryDark">@color/indigo_700</item>
<item name=“android:colorAccent”>@color/teal_a200</item>
</style>
colorPrimaryDark
colorPrimary
<style name=“MyTheme”
parent=“android:Theme.Material.Light.DarkActionBar”>
<item name=“android:colorPrimary">@color/indigo_500</item>
<item name=“android:colorPrimaryDark">@color/indigo_700</item>
<item name=“android:colorAccent”>@color/teal_a200</item>
</style>
colorPrimaryDark
colorPrimary colorAccent
<style name=“MyTheme”
parent=“android:Theme.Material.Light.DarkActionBar”>
<item name=“android:colorPrimary">@color/indigo_500</item>
<item name=“android:colorPrimaryDark">@color/indigo_700</item>
<item name=“android:colorAccent”>@color/teal_a200</item>
</style>
Content can
provide color
Light Vibrant Vibrant Dark Vibrant
Light Muted Muted Dark Muted
Palette p = Palette.generate(bitmap);
Palette
Swatch vibrant = p.getVibrantSwatch();
int vibrantColor = vibrant.getRgb();
int titleColor = vibrant.getTitleTextColor();
Meaningful motion3
<core-animated-pages transitions="hero-transition cross-fade">

<section id="page1">

<div id="hero1" hero-id="hero" hero></div>

<div id="bottom1" cross-fade></div>

</section>

<section id="page2">

<div id="hero2" hero-id="hero" hero></div>

<div id="bottom2" cross-fade></div>

</section>

</core-animated-pages>
core-selector
core-animated-pages
transitions
lastSelected
Activity Transitions
1. Specify any
<ImageView
...
android:transitionName="@string/transition_album_cover" />
layout/album_details.xml
Activity Transitions
2
Intent intent = ... // setup Intent as usual
!
ActivityOptionsCompat opts = ActivityOptionsCompat
.makeSceneTransitionAnimation(. . .);
!
// Now start the Activity, using our options bundle
ActivityCompat.startActivity(activity, intent, opts.toBundle());
Users
initiate
change
<paper-ripple/>
paper-ripple initialOpacity
opacityDecayVelocity
RippleDrawable
<ripple android:color=“?android:colorControlHighlight”>
<item>
<shape android:shape="rectangle">
<solid android:color=“@color/grey“ />
</shape>
</item>
</ripple>
Bound to another Drawable
New (v21+)
Circular Reveal
Circular Reveal
Animator reveal
= ViewAnimationUtils.createCircularReveal(
viewToReveal, // View to reveal
centerX, // mask centre x
centerY, // mask centre y
startRadius, // mask start radius
endRadius); // mask end radius
reveal.start();
Fast,
precise
motion
@interpolator/
fast_out_slow_in
Fast,
precise
motion
@interpolator/
linear_out_slow_in
@interpolator/
fast_out_linear_in
Asymmetric
motion
Adaptive design4
Toolbar
Toolbar
<core-toolbar>

<core-icon-button icon="menu" on-tap="{{menuAction}}"></core-icon-button>

<div flex>Title</div>

<core-icon-button icon="more" on-tap="{{moreAction}}"></core-icon-button>

</core-toolbar>
Toolbar
<Toolbar
android:id=”@+id/my_toolbar”
android:layout_height=”?android:actionBarSize”
android:layout_width=”match_parent”
android:background=”?android:colorPrimary” />
Place it within your layouts
Toolbar toolbar = findViewById(R.id.my_toolbar);
setActionBar(toolbar);
Then in your Activity/Fragment
New (v21+)
M AT E R I A L D E S I G N
Q? +Nick Butcher
@crafty
+Chet Haase
@chethaase
google.com/design/spec

More Related Content

Similar to Material Design Keynote

Introduction to Material Design
Introduction to Material DesignIntroduction to Material Design
Introduction to Material DesignMohammad Arman
 
Google I/O 2011, Android Honeycomb Highlights
Google I/O 2011, Android Honeycomb HighlightsGoogle I/O 2011, Android Honeycomb Highlights
Google I/O 2011, Android Honeycomb HighlightsRomain Guy
 
iOS Human Interface Design Guideline Part 1
iOS Human Interface Design Guideline Part 1iOS Human Interface Design Guideline Part 1
iOS Human Interface Design Guideline Part 1Sansern Wuthirat
 
Android Lollipop - Webinar vom 11.12.2014
Android Lollipop - Webinar vom 11.12.2014Android Lollipop - Webinar vom 11.12.2014
Android Lollipop - Webinar vom 11.12.2014inovex GmbH
 
Mobile Design at Gilt
Mobile Design at GiltMobile Design at Gilt
Mobile Design at GiltDavid Park
 
The Future is Responsive
The Future is ResponsiveThe Future is Responsive
The Future is ResponsiveZURB
 
Material design for android
Material design for androidMaterial design for android
Material design for androidVmoksha Admin
 
Xamarin.Android Introduction
Xamarin.Android IntroductionXamarin.Android Introduction
Xamarin.Android IntroductionGuido Magrin
 
Adapting to Reality [Starbucks Lunch & Learn]
Adapting to Reality [Starbucks Lunch & Learn]Adapting to Reality [Starbucks Lunch & Learn]
Adapting to Reality [Starbucks Lunch & Learn]Aaron Gustafson
 
Android Accessibility - DroidCon Berlin 2015
Android Accessibility - DroidCon Berlin 2015Android Accessibility - DroidCon Berlin 2015
Android Accessibility - DroidCon Berlin 2015Kelly Shuster
 
Design Systems at Scale
Design Systems at ScaleDesign Systems at Scale
Design Systems at ScaleSarah Federman
 
NSPorto - Su design es mi design
NSPorto - Su design es mi designNSPorto - Su design es mi design
NSPorto - Su design es mi design_tiagoalmeida
 
Fernando F. Gallego - Efficient Android Resources 101
Fernando F. Gallego - Efficient Android Resources 101Fernando F. Gallego - Efficient Android Resources 101
Fernando F. Gallego - Efficient Android Resources 101Fernando Gallego
 
Android L and Wear overview
Android L and Wear overviewAndroid L and Wear overview
Android L and Wear overviewJames Montemagno
 
Supporting multi screen in android
Supporting multi screen in androidSupporting multi screen in android
Supporting multi screen in androidrffffffff007
 
Shared Element Transitions
Shared Element TransitionsShared Element Transitions
Shared Element TransitionsMike Scamell
 
Accessibility in Design Systems by Allison Shaw
Accessibility in Design Systems by Allison ShawAccessibility in Design Systems by Allison Shaw
Accessibility in Design Systems by Allison Shawuxpin
 

Similar to Material Design Keynote (20)

Introduction to Material Design
Introduction to Material DesignIntroduction to Material Design
Introduction to Material Design
 
Google I/O 2011, Android Honeycomb Highlights
Google I/O 2011, Android Honeycomb HighlightsGoogle I/O 2011, Android Honeycomb Highlights
Google I/O 2011, Android Honeycomb Highlights
 
iOS Human Interface Design Guideline Part 1
iOS Human Interface Design Guideline Part 1iOS Human Interface Design Guideline Part 1
iOS Human Interface Design Guideline Part 1
 
Android Lollipop - Webinar vom 11.12.2014
Android Lollipop - Webinar vom 11.12.2014Android Lollipop - Webinar vom 11.12.2014
Android Lollipop - Webinar vom 11.12.2014
 
09 material design
09 material design09 material design
09 material design
 
Mobile Design at Gilt
Mobile Design at GiltMobile Design at Gilt
Mobile Design at Gilt
 
The Future is Responsive
The Future is ResponsiveThe Future is Responsive
The Future is Responsive
 
Material in 30 minutes
Material in 30 minutesMaterial in 30 minutes
Material in 30 minutes
 
Material design for android
Material design for androidMaterial design for android
Material design for android
 
Xamarin.Android Introduction
Xamarin.Android IntroductionXamarin.Android Introduction
Xamarin.Android Introduction
 
Adapting to Reality [Starbucks Lunch & Learn]
Adapting to Reality [Starbucks Lunch & Learn]Adapting to Reality [Starbucks Lunch & Learn]
Adapting to Reality [Starbucks Lunch & Learn]
 
Android Accessibility - DroidCon Berlin 2015
Android Accessibility - DroidCon Berlin 2015Android Accessibility - DroidCon Berlin 2015
Android Accessibility - DroidCon Berlin 2015
 
Design Systems at Scale
Design Systems at ScaleDesign Systems at Scale
Design Systems at Scale
 
NSPorto - Su design es mi design
NSPorto - Su design es mi designNSPorto - Su design es mi design
NSPorto - Su design es mi design
 
Material design
Material designMaterial design
Material design
 
Fernando F. Gallego - Efficient Android Resources 101
Fernando F. Gallego - Efficient Android Resources 101Fernando F. Gallego - Efficient Android Resources 101
Fernando F. Gallego - Efficient Android Resources 101
 
Android L and Wear overview
Android L and Wear overviewAndroid L and Wear overview
Android L and Wear overview
 
Supporting multi screen in android
Supporting multi screen in androidSupporting multi screen in android
Supporting multi screen in android
 
Shared Element Transitions
Shared Element TransitionsShared Element Transitions
Shared Element Transitions
 
Accessibility in Design Systems by Allison Shaw
Accessibility in Design Systems by Allison ShawAccessibility in Design Systems by Allison Shaw
Accessibility in Design Systems by Allison Shaw
 

Recently uploaded

哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...wyqazy
 
9892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x79892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x7Pooja Nehwal
 
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceanilsa9823
 
Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝soniya singh
 
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceanilsa9823
 
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Pooja Nehwal
 
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...Niamh verma
 

Recently uploaded (7)

哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
 
9892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x79892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x7
 
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
 
Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝
 
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
 
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
 
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
 

Material Design Keynote