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
Introduction to Material Design
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Harsh Dattani
December 14, 2014
Design
190
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Introduction to Material Design
Delivered a session on Introduction to Material Design at DevFest Ahmedabad 2014.
Harsh Dattani
December 14, 2014
More Decks by Harsh Dattani
See All by Harsh Dattani
Whats new in Android N
harshdattani
0
69
Developing Secure Android Application
harshdattani
2
390
Guard your Android
harshdattani
0
180
Other Decks in Design
See All in Design
AVI 2026 Keynote "Vision-Driven Design"
ishii_mit
0
180
「おすすめ」はなぜ信用されないのか - 信頼を築くUI/UX設計
ryu1013
0
320
凡庸を落とすハーネス
hiromimaeo
2
950
Agentic Design Workflowを育てる 「三層デザインハーネス」の現在地
sayadesign2
0
660
Navigating the journey into design leadership - Hatch Atelier, Berlin, 2026
apolaine
0
120
SERVICE PAMPHLET
mhand01
0
3.2k
Luna's Light
shemeetscity
0
160
広い関与の可能性に どう向き合うのか? 私たちは。|Timee MarketingDesign 2026-06-18
bebe
0
1.1k
Webデザイナー中田美穂_ポートフォリオ
omy
0
150
LP制作のための熱量ハーネス -人の熱量を、AIとの制作につなぐ-
niccy
0
1.6k
自社プロダクトのUIをAIが再現するデザインビルドシステム
toy1618
0
1.2k
言幹と言葉(Stems & Leaves)
kakukoki
0
230
Featured
See All Featured
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
460
Test your architecture with Archunit
thirion
2
2.4k
Designing for humans not robots
tammielis
254
26k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.1k
Ethics towards AI in product and experience design
skipperchong
2
410
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8k
Balancing Empowerment & Direction
lara
6
1.3k
How to Ace a Technical Interview
jacobian
280
24k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
A Modern Web Designer's Workflow
chriscoyier
699
190k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
710
Transcript
Introduction to Material Design Harsh Dattani
About Me M.Tech Cyber Security Gujarat Forensic Sciences University, Gandhinagar
Principle Styling the Material Components Maintaining Compatibility Agenda
A great product experience starts with UX followed by UI.
Both are essential for the product’s success.
Cross-Platform Experience Material: A Metaphor
Cross-Platform Experience Elements Have Depth & Shadow Material: A Metaphor
Cross-Platform Experience Elements Have Depth & Shadow User Motion, Interaction,
Bold & Visual Design Material: A Metaphor
Cross Platform
Elements Have Depth Elements have depth
• A key light creates directional shadows. • An ambient
light creates consistent, soft shadows from all angles. Shadow cast by key light Shadow cast by ambient light Shadow cast by both lights Elements have shadow
Color Icon Imagery Material: Implementation Typography
values-v21/styles.xml Accent color for primary action buttons and components like
switches or sliders. Style: Theme and Color <?xml version="1.0" encoding="utf-8"?> <resources> <style name="AppTheme" parent="android:Theme.Material.Light"> <item name="android:colorPrimary">@color/primary</item> <item name="android:colorPrimaryDark">@color/primary_dark</item> <item name="android:colorAccent">@color/accent</item> <item name="android:textColorPrimary">@color/text_primary</item> <item name="android:textColor">@color/text_secondary</item> <item name="android:navigationBarColor">@color/primary_dark</item> </style> </resources>
Primary Secondary Style: Color Palette
Do Don't Style: Best practice
Style: Icon Do Don't
Style: Imagery Do Don't
Style: Best practice Do Don't
Style: Typography
Style: Typography
Style: Typography
Toolbar Appbar Menus Layout: Structure
Structure: Toolbar
Structure: Appbar • Formerly known as Action bar. • Special
kind of toolbar, for branding, navigation and important user actions
Structure: Appbar Matrics • Mobile Landscape: 48dp • Mobile Portrait:
56dp • Tablet/Desktop: 64dp
Structure: Menus • Overlaps App Bar • Not an extension
to App Bar
Buttons Cards Dialog Layout: Components Tabs Switch
Button: Flat <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Flat Button" style="?android:attr/borderlessButtonStyle" />
Button: Raised <Button android:layout_width="@dimen/btn_size" android:layout_height="wrap_content" android:text="Ripple Effect" android:textColor="@color/text_primary" android:elevation="8dp" android:background="@drawable/ripple"
android:stateListAnimator="@anim/raise" />
Button: Floating Action Button <ImageButton android:id="@+id/add_button" android:layout_width="@dimen/round_button_diameter" android:layout_height="@dimen/round_button_diameter" android:layout_gravity="end|bottom" android:layout_marginBottom="@dimen/add_button_margin"
android:layout_marginEnd="@dimen/add_button_margin" android:src="@android:drawable/ic_input_add" android:tint="@android:color/white" android:background="@drawable/ripple_float" android:elevation="@dimen/elevation_low" android:stateListAnimator="@anim/raise" />
UI Widget: CardView <android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto" android:layout_margin="@dimen/activity_horizontal_margin" android:layout_width="match_parent" android:layout_height="match_parent" card_view:cardCornerRadius="4dp"> <TextView
android:textSize="@dimen/abc_text_size_display_1_material" android:text="@string/hello_world" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </android.support.v7.widget.CardView> dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile "com.android.support:appcompat-v7:21.0.+" compile “com.android.support:cardview-v7:21.0.+” }
Preferably use flat button Do Not use FAB Component: Dialog
Extended App bar + Tab bar Inset search + App
bar + Tab bar Default App bar + Tab bar Component: Tabs
Radio Switch Checkbox Component: Switch
User Input Surface Reaction Animation: Responsive Interaction Meaningful Transition
Maintaining Compatibility values/styles.xml <!-- extend one of the Theme.AppCompat themes
--> <style name="Theme.MyTheme" parent="Theme.AppCompat.Light"> <!-- customize the color palette --> <item name="colorPrimary">@color/material_blue_500</item> <item name="colorPrimaryDark">@color/material_blue_700</item> <item name="colorAccent">@color/material_green_A200</item> </style>
Maintaining Compatibility build.gradle dependencies { compile fileTree(dir: 'libs', include: ['*.jar'])
compile "com.android.support:appcompat-v7:21.0.+" compile “com.android.support:cardview-v7:21.0.+” compile “com.android.support:recyclerview-v7:21.0.+” }
Thank You Harsh Dattani @dattaniharsh Google.com/+harshdattani Github.com/harshdattani