SlideShare una empresa de Scribd logo
1 de 34
Holo Material Design 
Transition
About me 
Quentin Sallat 
Développeur Android à iD.apps 
@Aerilys
Mais enfin c'est quoi Material ?
L'évolution du design sur Android 
● 1.x/2.x (Depuis 2008) 
o Thème Dark/light 
o Droid
L'évolution du design sur Android 
● 3.x (2011) 
o Holo
L'évolution du design sur Android 
● 4.x (2011) 
o Roboto 
o Design guidelines
Material Design 
Android L (2014) 
● Material design 
● Même design pour tous les produits Google 
● “Cross-platform”
Material Design 
Material is the 
metaphor 
Bold, graphic, 
intentional 
Motion provides 
meaning
De Holo à Material
Steam Explorer - Holo
Material theme
Material theme 
 Créer un dossier pour Android L 
 res/values-v21/styles.xml 
 Faire hériter son thème du thème Material 
 <style name="SteamTheme" 
parent="@android:style/Theme.Material.Light.DarkActionBar"> 
 Trois thèmes 
 Theme.Material (dark) 
 Theme.Material.Light (light) 
 Theme.Material.Light.DarkActionBar
Demo - code
Demo - résultat
Colors 
 Nouveaux attributs pour colorer son application 
 colorPrimary : couleur principale de l’application 
 colorPrimaryDark : variante plus sombre 
 Pour aller plus loin 
 https://developer.android.com/preview/material/theme.html 
 Librairie Palette (support v7)
Colors
Demo - résultat
Floating Action Button
FAB - design rules 
 Bouton flottant 
 Action majeure de l’écran (promoted action) 
 Au-dessus de l’UI (couche supérieure) 
 Pas plus d’un par écran, mais pas obligatoire
FAB - code 
 View customisée, drawable ou reprise d’un projet 
Github existant 
 iosched 
 FloatingActionButton 
 Compatible jusqu’à 2.x avec des adaptations
FAB - code
Demo
FAB - scrolling effect 
 Effet à la Google Plus pour ne pas cacher le contenu 
 Cache le bouton en scroll descendant, l’affiche en scroll ascendant 
 Utilise un ScrollListener sur une ScrollView ou une ListView/GridView 
 Blog de Cyril Mottier 
 QuickreturnListView sur Github 
 Pensez à la petite animation 
Démo
Cards - Design rules 
 Popularisées par Google Now, Facebook… 
 1 card = 1 idée, notion ou contenu 
 Ne s’applique pas à toutes les listes
Cardviews - code 
 Avant : cards avec un drawable 
 Peu customisable 
 Pas standard 
 Pas de gestion dynamique des ombres 
 Avec Android L 
 Facilement customisable 
 Nouvelle classe de la librairie de support v7 
 Attribut elevation pour gérer les ombres
Demo
Animation 
 Nombreuses nouvelles APIs 
 Transitions entre activities 
 Ripple effect 
 Shadows 
 Reveal effect, curve motion, state list drawables… 
 Et plus !
Animations – Elément partagé 
 XML 
 Java
Demo – élément partagé
Demo – Ripple effect
Quelques liens 
Material design rules: 
http://www.google.com/design/ 
Material with Polymer: 
http://www.polymer-project.org/docs/elements/material.html 
Material with Angular: 
http://material.angularjs.org/
Conclusion 
• Material Design is cool! 
• Possibilité de l’appliquer avant Android L 
• … Et même sur d’autres plateformes !
iD.apps 
http://www.id-apps.fr 
http://blog.id-apps.info 
@iD_apps 
Quentin SALLAT 
@Aerilys 
https://github.com/neferetheka

Más contenido relacionado

La actualidad más candente

PhoneGap VS Appcelerator
PhoneGap VS AppceleratorPhoneGap VS Appcelerator
PhoneGap VS AppceleratorTiyab K.
 
Formation Android (Initiation à la programmation sous Android)
Formation Android (Initiation à la programmation sous Android)Formation Android (Initiation à la programmation sous Android)
Formation Android (Initiation à la programmation sous Android)G²FOSS ENIT
 
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour android
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour androidDébuter avec phonegap (APACHE CORDOVA) dans eclipse pour android
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour androidBosco Basabana
 
Flutter: Alternative crédible pour vos applications mobiles ?
Flutter: Alternative crédible pour vos applications mobiles ?Flutter: Alternative crédible pour vos applications mobiles ?
Flutter: Alternative crédible pour vos applications mobiles ?Nicolas Hodicq
 
Introduction au développement mobile avec Titanium Appcelerator @ Human Talks...
Introduction au développement mobile avec Titanium Appcelerator @ Human Talks...Introduction au développement mobile avec Titanium Appcelerator @ Human Talks...
Introduction au développement mobile avec Titanium Appcelerator @ Human Talks...Raphaël Kueny
 
Killer app par la design et le code
Killer app par la design et le codeKiller app par la design et le code
Killer app par la design et le codeBenjamin Launay
 
Devoxx France 2015 - Introduction à Ionic framework
Devoxx France 2015 - Introduction à Ionic frameworkDevoxx France 2015 - Introduction à Ionic framework
Devoxx France 2015 - Introduction à Ionic frameworkStéphanie Moallic
 
Présentation Flutter
Présentation FlutterPrésentation Flutter
Présentation FlutterAppstud
 
Tuto Phonegap
Tuto PhonegapTuto Phonegap
Tuto PhonegapSUN
 
Kinect pour les développeurs Web
Kinect pour les développeurs WebKinect pour les développeurs Web
Kinect pour les développeurs Webekino
 
Titanium, write in java script, run native everywhere
Titanium, write in java script, run native everywhereTitanium, write in java script, run native everywhere
Titanium, write in java script, run native everywhereAyoub Zamouchi
 
Phonegap
PhonegapPhonegap
PhonegapVISEO
 
1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy
1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy
1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - AlloyMeetup Mobile Montpellier
 
CocoaHeads Toulouse - Présentation Windows Phone 7 - ClevLab
CocoaHeads Toulouse - Présentation Windows Phone 7 - ClevLabCocoaHeads Toulouse - Présentation Windows Phone 7 - ClevLab
CocoaHeads Toulouse - Présentation Windows Phone 7 - ClevLabCocoaHeads France
 
jQuery mobile / PhoneGap : contenus dynamiques client-side
jQuery mobile / PhoneGap : contenus dynamiques client-sidejQuery mobile / PhoneGap : contenus dynamiques client-side
jQuery mobile / PhoneGap : contenus dynamiques client-sidemaru.maru
 
Développer des applications mobiles avec phonegap
Développer des applications mobiles avec phonegapDévelopper des applications mobiles avec phonegap
Développer des applications mobiles avec phonegapMakina Corpus
 

La actualidad más candente (20)

PhoneGap VS Appcelerator
PhoneGap VS AppceleratorPhoneGap VS Appcelerator
PhoneGap VS Appcelerator
 
Formation Android (Initiation à la programmation sous Android)
Formation Android (Initiation à la programmation sous Android)Formation Android (Initiation à la programmation sous Android)
Formation Android (Initiation à la programmation sous Android)
 
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour android
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour androidDébuter avec phonegap (APACHE CORDOVA) dans eclipse pour android
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour android
 
Flutter: Alternative crédible pour vos applications mobiles ?
Flutter: Alternative crédible pour vos applications mobiles ?Flutter: Alternative crédible pour vos applications mobiles ?
Flutter: Alternative crédible pour vos applications mobiles ?
 
Introduction au développement mobile avec Titanium Appcelerator @ Human Talks...
Introduction au développement mobile avec Titanium Appcelerator @ Human Talks...Introduction au développement mobile avec Titanium Appcelerator @ Human Talks...
Introduction au développement mobile avec Titanium Appcelerator @ Human Talks...
 
Introduction a Flutter
Introduction a FlutterIntroduction a Flutter
Introduction a Flutter
 
React xp
React xpReact xp
React xp
 
Killer app par la design et le code
Killer app par la design et le codeKiller app par la design et le code
Killer app par la design et le code
 
Devoxx France 2015 - Introduction à Ionic framework
Devoxx France 2015 - Introduction à Ionic frameworkDevoxx France 2015 - Introduction à Ionic framework
Devoxx France 2015 - Introduction à Ionic framework
 
Présentation Flutter
Présentation FlutterPrésentation Flutter
Présentation Flutter
 
Tuto Phonegap
Tuto PhonegapTuto Phonegap
Tuto Phonegap
 
Apache Cordova 3.3 de zéro
Apache Cordova 3.3 de zéroApache Cordova 3.3 de zéro
Apache Cordova 3.3 de zéro
 
Kinect pour les développeurs Web
Kinect pour les développeurs WebKinect pour les développeurs Web
Kinect pour les développeurs Web
 
Titanium, write in java script, run native everywhere
Titanium, write in java script, run native everywhereTitanium, write in java script, run native everywhere
Titanium, write in java script, run native everywhere
 
Phonegap
PhonegapPhonegap
Phonegap
 
1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy
1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy
1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy
 
CocoaHeads Toulouse - Présentation Windows Phone 7 - ClevLab
CocoaHeads Toulouse - Présentation Windows Phone 7 - ClevLabCocoaHeads Toulouse - Présentation Windows Phone 7 - ClevLab
CocoaHeads Toulouse - Présentation Windows Phone 7 - ClevLab
 
jQuery mobile / PhoneGap : contenus dynamiques client-side
jQuery mobile / PhoneGap : contenus dynamiques client-sidejQuery mobile / PhoneGap : contenus dynamiques client-side
jQuery mobile / PhoneGap : contenus dynamiques client-side
 
Développer des applications mobiles avec phonegap
Développer des applications mobiles avec phonegapDévelopper des applications mobiles avec phonegap
Développer des applications mobiles avec phonegap
 
Frontend Operations
Frontend OperationsFrontend Operations
Frontend Operations
 

Similar a Holo material design transition - DroidCon Paris 2014

Android Studio, premier contact
Android Studio, premier contactAndroid Studio, premier contact
Android Studio, premier contactJasmine Conseil
 
cours-android.pdf
cours-android.pdfcours-android.pdf
cours-android.pdfmed_univ78
 
Android workshop - Bootcamp du Mauriapp Challenge 2016
Android workshop - Bootcamp du Mauriapp Challenge 2016Android workshop - Bootcamp du Mauriapp Challenge 2016
Android workshop - Bootcamp du Mauriapp Challenge 2016Hadina RIMTIC
 
Wygday 2011 - Introduction à HTML5
Wygday 2011 - Introduction à HTML5Wygday 2011 - Introduction à HTML5
Wygday 2011 - Introduction à HTML5wyggio
 
Holo to material design - Devoxx France 2015
Holo to material design - Devoxx France 2015Holo to material design - Devoxx France 2015
Holo to material design - Devoxx France 2015Quentin Sallat
 
01 programmation mobile - android - (introduction)
01 programmation mobile - android - (introduction)01 programmation mobile - android - (introduction)
01 programmation mobile - android - (introduction)TECOS
 
Adama Coulibaly.pptx
Adama Coulibaly.pptxAdama Coulibaly.pptx
Adama Coulibaly.pptxIdrissaDembl
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8davrous
 
Chp5 - Applications Android
Chp5 - Applications AndroidChp5 - Applications Android
Chp5 - Applications AndroidLilia Sfaxi
 
Webdesign sites web et mobiles-tendances 2015
Webdesign sites web et mobiles-tendances 2015Webdesign sites web et mobiles-tendances 2015
Webdesign sites web et mobiles-tendances 2015Olivier Dommange
 
Initiation au développement mobile sous Android
Initiation au développement mobile sous AndroidInitiation au développement mobile sous Android
Initiation au développement mobile sous AndroidAbdelkader Rhouati
 
introduction à la gestion de projet
introduction à la gestion de projetintroduction à la gestion de projet
introduction à la gestion de projetlaureno
 

Similar a Holo material design transition - DroidCon Paris 2014 (20)

Android introvf
Android introvfAndroid introvf
Android introvf
 
Android Studio, premier contact
Android Studio, premier contactAndroid Studio, premier contact
Android Studio, premier contact
 
cours-android.pdf
cours-android.pdfcours-android.pdf
cours-android.pdf
 
Flutter Rennes - #1
Flutter Rennes - #1Flutter Rennes - #1
Flutter Rennes - #1
 
Android workshop - Bootcamp du Mauriapp Challenge 2016
Android workshop - Bootcamp du Mauriapp Challenge 2016Android workshop - Bootcamp du Mauriapp Challenge 2016
Android workshop - Bootcamp du Mauriapp Challenge 2016
 
Meetup sencha
Meetup senchaMeetup sencha
Meetup sencha
 
L'univers Android
L'univers AndroidL'univers Android
L'univers Android
 
Silverlight 4
Silverlight 4Silverlight 4
Silverlight 4
 
Android Jelly Bean
Android Jelly BeanAndroid Jelly Bean
Android Jelly Bean
 
Chapitre 1 android
Chapitre 1 androidChapitre 1 android
Chapitre 1 android
 
Wygday 2011 - Introduction à HTML5
Wygday 2011 - Introduction à HTML5Wygday 2011 - Introduction à HTML5
Wygday 2011 - Introduction à HTML5
 
Introduction à Angular
Introduction à AngularIntroduction à Angular
Introduction à Angular
 
Holo to material design - Devoxx France 2015
Holo to material design - Devoxx France 2015Holo to material design - Devoxx France 2015
Holo to material design - Devoxx France 2015
 
01 programmation mobile - android - (introduction)
01 programmation mobile - android - (introduction)01 programmation mobile - android - (introduction)
01 programmation mobile - android - (introduction)
 
Adama Coulibaly.pptx
Adama Coulibaly.pptxAdama Coulibaly.pptx
Adama Coulibaly.pptx
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8
 
Chp5 - Applications Android
Chp5 - Applications AndroidChp5 - Applications Android
Chp5 - Applications Android
 
Webdesign sites web et mobiles-tendances 2015
Webdesign sites web et mobiles-tendances 2015Webdesign sites web et mobiles-tendances 2015
Webdesign sites web et mobiles-tendances 2015
 
Initiation au développement mobile sous Android
Initiation au développement mobile sous AndroidInitiation au développement mobile sous Android
Initiation au développement mobile sous Android
 
introduction à la gestion de projet
introduction à la gestion de projetintroduction à la gestion de projet
introduction à la gestion de projet
 

Más de Paris Android User Group

Workshop: building your mobile backend with Parse - Droidcon Paris2014
Workshop: building your mobile backend with Parse - Droidcon Paris2014Workshop: building your mobile backend with Parse - Droidcon Paris2014
Workshop: building your mobile backend with Parse - Droidcon Paris2014Paris Android User Group
 
Workshop: Amazon developer ecosystem - DroidCon Paris2014
Workshop: Amazon developer ecosystem - DroidCon Paris2014Workshop: Amazon developer ecosystem - DroidCon Paris2014
Workshop: Amazon developer ecosystem - DroidCon Paris2014Paris Android User Group
 
Extending your apps to wearables - DroidCon Paris 2014
Extending your apps to wearables -  DroidCon Paris 2014Extending your apps to wearables -  DroidCon Paris 2014
Extending your apps to wearables - DroidCon Paris 2014Paris Android User Group
 
Scaling android development - DroidCon Paris 2014
Scaling android development - DroidCon Paris 2014Scaling android development - DroidCon Paris 2014
Scaling android development - DroidCon Paris 2014Paris Android User Group
 
Ingredient of awesome app - DroidCon Paris 2014
Ingredient of awesome app - DroidCon Paris 2014Ingredient of awesome app - DroidCon Paris 2014
Ingredient of awesome app - DroidCon Paris 2014Paris Android User Group
 
Deep dive into android restoration - DroidCon Paris 2014
Deep dive into android restoration - DroidCon Paris 2014Deep dive into android restoration - DroidCon Paris 2014
Deep dive into android restoration - DroidCon Paris 2014Paris Android User Group
 
Archos Android based connected home solution - DroidCon Paris 2014
Archos Android based connected home solution - DroidCon Paris 2014Archos Android based connected home solution - DroidCon Paris 2014
Archos Android based connected home solution - DroidCon Paris 2014Paris Android User Group
 
Porting VLC on Android - DroidCon Paris 2014
Porting VLC on Android - DroidCon Paris 2014Porting VLC on Android - DroidCon Paris 2014
Porting VLC on Android - DroidCon Paris 2014Paris Android User Group
 
Robotium vs Espresso: Get ready to rumble ! - DroidCon Paris 2014
Robotium vs Espresso: Get ready to rumble ! - DroidCon Paris 2014Robotium vs Espresso: Get ready to rumble ! - DroidCon Paris 2014
Robotium vs Espresso: Get ready to rumble ! - DroidCon Paris 2014Paris Android User Group
 
maximize app engagement and monetization - DroidCon Paris 2014
maximize app engagement and monetization - DroidCon Paris 2014maximize app engagement and monetization - DroidCon Paris 2014
maximize app engagement and monetization - DroidCon Paris 2014Paris Android User Group
 
Using the android ndk - DroidCon Paris 2014
Using the android ndk - DroidCon Paris 2014Using the android ndk - DroidCon Paris 2014
Using the android ndk - DroidCon Paris 2014Paris Android User Group
 
Google glass droidcon - DroidCon Paris 2014
Google glass droidcon - DroidCon Paris 2014Google glass droidcon - DroidCon Paris 2014
Google glass droidcon - DroidCon Paris 2014Paris Android User Group
 
Embedded webserver implementation and usage - DroidCon Paris 2014
Embedded webserver implementation and usage - DroidCon Paris 2014Embedded webserver implementation and usage - DroidCon Paris 2014
Embedded webserver implementation and usage - DroidCon Paris 2014Paris Android User Group
 
Petit design Grande humanité par Geoffrey Dorne - DroidCon Paris 2014
Petit design Grande humanité par Geoffrey Dorne - DroidCon Paris 2014Petit design Grande humanité par Geoffrey Dorne - DroidCon Paris 2014
Petit design Grande humanité par Geoffrey Dorne - DroidCon Paris 2014Paris Android User Group
 
What's new in android 4.4 - Romain Guy & Chet Haase
What's new in android 4.4 - Romain Guy & Chet HaaseWhat's new in android 4.4 - Romain Guy & Chet Haase
What's new in android 4.4 - Romain Guy & Chet HaaseParis Android User Group
 
Efficient Image Processing - Nicolas Roard
Efficient Image Processing - Nicolas RoardEfficient Image Processing - Nicolas Roard
Efficient Image Processing - Nicolas RoardParis Android User Group
 

Más de Paris Android User Group (20)

Workshop: building your mobile backend with Parse - Droidcon Paris2014
Workshop: building your mobile backend with Parse - Droidcon Paris2014Workshop: building your mobile backend with Parse - Droidcon Paris2014
Workshop: building your mobile backend with Parse - Droidcon Paris2014
 
Workshop: Amazon developer ecosystem - DroidCon Paris2014
Workshop: Amazon developer ecosystem - DroidCon Paris2014Workshop: Amazon developer ecosystem - DroidCon Paris2014
Workshop: Amazon developer ecosystem - DroidCon Paris2014
 
Extending your apps to wearables - DroidCon Paris 2014
Extending your apps to wearables -  DroidCon Paris 2014Extending your apps to wearables -  DroidCon Paris 2014
Extending your apps to wearables - DroidCon Paris 2014
 
Scaling android development - DroidCon Paris 2014
Scaling android development - DroidCon Paris 2014Scaling android development - DroidCon Paris 2014
Scaling android development - DroidCon Paris 2014
 
Ingredient of awesome app - DroidCon Paris 2014
Ingredient of awesome app - DroidCon Paris 2014Ingredient of awesome app - DroidCon Paris 2014
Ingredient of awesome app - DroidCon Paris 2014
 
Framing the canvas - DroidCon Paris 2014
Framing the canvas - DroidCon Paris 2014Framing the canvas - DroidCon Paris 2014
Framing the canvas - DroidCon Paris 2014
 
Deep dive into android restoration - DroidCon Paris 2014
Deep dive into android restoration - DroidCon Paris 2014Deep dive into android restoration - DroidCon Paris 2014
Deep dive into android restoration - DroidCon Paris 2014
 
Archos Android based connected home solution - DroidCon Paris 2014
Archos Android based connected home solution - DroidCon Paris 2014Archos Android based connected home solution - DroidCon Paris 2014
Archos Android based connected home solution - DroidCon Paris 2014
 
Porting VLC on Android - DroidCon Paris 2014
Porting VLC on Android - DroidCon Paris 2014Porting VLC on Android - DroidCon Paris 2014
Porting VLC on Android - DroidCon Paris 2014
 
Robotium vs Espresso: Get ready to rumble ! - DroidCon Paris 2014
Robotium vs Espresso: Get ready to rumble ! - DroidCon Paris 2014Robotium vs Espresso: Get ready to rumble ! - DroidCon Paris 2014
Robotium vs Espresso: Get ready to rumble ! - DroidCon Paris 2014
 
Buildsystem.mk - DroidCon Paris 2014
Buildsystem.mk - DroidCon Paris 2014Buildsystem.mk - DroidCon Paris 2014
Buildsystem.mk - DroidCon Paris 2014
 
maximize app engagement and monetization - DroidCon Paris 2014
maximize app engagement and monetization - DroidCon Paris 2014maximize app engagement and monetization - DroidCon Paris 2014
maximize app engagement and monetization - DroidCon Paris 2014
 
Using the android ndk - DroidCon Paris 2014
Using the android ndk - DroidCon Paris 2014Using the android ndk - DroidCon Paris 2014
Using the android ndk - DroidCon Paris 2014
 
Death to passwords - DroidCon Paris 2014
Death to passwords - DroidCon Paris 2014Death to passwords - DroidCon Paris 2014
Death to passwords - DroidCon Paris 2014
 
Google glass droidcon - DroidCon Paris 2014
Google glass droidcon - DroidCon Paris 2014Google glass droidcon - DroidCon Paris 2014
Google glass droidcon - DroidCon Paris 2014
 
Embedded webserver implementation and usage - DroidCon Paris 2014
Embedded webserver implementation and usage - DroidCon Paris 2014Embedded webserver implementation and usage - DroidCon Paris 2014
Embedded webserver implementation and usage - DroidCon Paris 2014
 
Petit design Grande humanité par Geoffrey Dorne - DroidCon Paris 2014
Petit design Grande humanité par Geoffrey Dorne - DroidCon Paris 2014Petit design Grande humanité par Geoffrey Dorne - DroidCon Paris 2014
Petit design Grande humanité par Geoffrey Dorne - DroidCon Paris 2014
 
What's new in android 4.4 - Romain Guy & Chet Haase
What's new in android 4.4 - Romain Guy & Chet HaaseWhat's new in android 4.4 - Romain Guy & Chet Haase
What's new in android 4.4 - Romain Guy & Chet Haase
 
Efficient Image Processing - Nicolas Roard
Efficient Image Processing - Nicolas RoardEfficient Image Processing - Nicolas Roard
Efficient Image Processing - Nicolas Roard
 
Build a user experience by Eyal Lezmy
Build a user experience by Eyal LezmyBuild a user experience by Eyal Lezmy
Build a user experience by Eyal Lezmy
 

Holo material design transition - DroidCon Paris 2014

  • 1. Holo Material Design Transition
  • 2. About me Quentin Sallat Développeur Android à iD.apps @Aerilys
  • 3. Mais enfin c'est quoi Material ?
  • 4. L'évolution du design sur Android ● 1.x/2.x (Depuis 2008) o Thème Dark/light o Droid
  • 5. L'évolution du design sur Android ● 3.x (2011) o Holo
  • 6. L'évolution du design sur Android ● 4.x (2011) o Roboto o Design guidelines
  • 7. Material Design Android L (2014) ● Material design ● Même design pour tous les produits Google ● “Cross-platform”
  • 8. Material Design Material is the metaphor Bold, graphic, intentional Motion provides meaning
  • 9. De Holo à Material
  • 12. Material theme  Créer un dossier pour Android L  res/values-v21/styles.xml  Faire hériter son thème du thème Material  <style name="SteamTheme" parent="@android:style/Theme.Material.Light.DarkActionBar">  Trois thèmes  Theme.Material (dark)  Theme.Material.Light (light)  Theme.Material.Light.DarkActionBar
  • 15. Colors  Nouveaux attributs pour colorer son application  colorPrimary : couleur principale de l’application  colorPrimaryDark : variante plus sombre  Pour aller plus loin  https://developer.android.com/preview/material/theme.html  Librairie Palette (support v7)
  • 19. FAB - design rules  Bouton flottant  Action majeure de l’écran (promoted action)  Au-dessus de l’UI (couche supérieure)  Pas plus d’un par écran, mais pas obligatoire
  • 20. FAB - code  View customisée, drawable ou reprise d’un projet Github existant  iosched  FloatingActionButton  Compatible jusqu’à 2.x avec des adaptations
  • 22. Demo
  • 23. FAB - scrolling effect  Effet à la Google Plus pour ne pas cacher le contenu  Cache le bouton en scroll descendant, l’affiche en scroll ascendant  Utilise un ScrollListener sur une ScrollView ou une ListView/GridView  Blog de Cyril Mottier  QuickreturnListView sur Github  Pensez à la petite animation 
  • 24. Démo
  • 25. Cards - Design rules  Popularisées par Google Now, Facebook…  1 card = 1 idée, notion ou contenu  Ne s’applique pas à toutes les listes
  • 26. Cardviews - code  Avant : cards avec un drawable  Peu customisable  Pas standard  Pas de gestion dynamique des ombres  Avec Android L  Facilement customisable  Nouvelle classe de la librairie de support v7  Attribut elevation pour gérer les ombres
  • 27. Demo
  • 28. Animation  Nombreuses nouvelles APIs  Transitions entre activities  Ripple effect  Shadows  Reveal effect, curve motion, state list drawables…  Et plus !
  • 29. Animations – Elément partagé  XML  Java
  • 30. Demo – élément partagé
  • 31. Demo – Ripple effect
  • 32. Quelques liens Material design rules: http://www.google.com/design/ Material with Polymer: http://www.polymer-project.org/docs/elements/material.html Material with Angular: http://material.angularjs.org/
  • 33. Conclusion • Material Design is cool! • Possibilité de l’appliquer avant Android L • … Et même sur d’autres plateformes !
  • 34. iD.apps http://www.id-apps.fr http://blog.id-apps.info @iD_apps Quentin SALLAT @Aerilys https://github.com/neferetheka

Notas del editor

  1. Material is the metaphor A material metaphor is the unifying theory of a rationalized space and a system of motion. The material is grounded in tactile reality, inspired by the study of paper and ink, yet technologically advanced and open to imagination and magic. Surfaces and edges of the material provide visual cues that are grounded in reality. The use of familiar tactile attributes helps users quickly understand affordances. Yet the flexibility of the material creates new affordances that supercede those in the physical world, without breaking the rules of physics. The fundamentals of light, surface, and movement are key to conveying how objects move, interact, and exist in space in relation to each other. Realistic lighting shows seams, divides space, and indicates moving parts. Bold, graphic, intentional The foundational elements of print-based design—typography, grids, space, scale, color, and use of imagery—guide visual treatments. These elements do far more than please the eye; they create hierarchy, meaning, and focus. Deliberate color choices, edge-to-edge imagery, large-scale typography, and intentional white space create a bold and graphic interface that immerses the user in the experience. An emphasis on user actions makes core functionality immediately apparent and provides waypoints for the user. Motion provides meaning Motion respects and reinforces the user as the prime mover. Primary user actions are inflection points that initiate motion, transforming the whole design.  All action takes place in a single environment. Objects are presented to the user without breaking the continuity of experience even as they transform and reorganize. Motion is meaningful and appropriate, serving to focus attention and maintain continuity. Feedback is subtle yet clear. Transitions are efficient yet coherent.
  2. http://cyrilmottier.com/2013/05/24/pushing-the-actionbar-to-the-next-level/
  3. Contenu homogène vs non homogène
  4. Gradle de la doc