+ All Categories
Home > Technology > Holo to material design - Devoxx France 2015

Holo to material design - Devoxx France 2015

Date post: 18-Jul-2015
Category:
Upload: quentin-sallat
View: 1,714 times
Download: 0 times
Share this document with a friend
Popular Tags:
47
@Aerilys #HoloToMaterial Holo to Material Design Transition
Transcript
Page 1: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

Holo to Material Design Transition

Page 2: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

Présentation

QUENTIN SALLAT

@Aerilys

Android developer at

iD.apps

Page 3: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

De Holo à Material design

• Mais enfin c’est quoi le Material design ?

• Steam Explorer• Thème

• FAB

• Cards

• Animations

• Material design dans le monde réel

Page 4: Holo to material design - Devoxx France 2015

Objectif

Se convertir au Material Design en 45 minutes !

Page 5: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

Page 6: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

L'évolution du design sur Android

●1.x/2.x (Depuis 2008)

●Thème Dark/light

Page 7: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

L'évolution du design sur Android

●3.x (2011)

●Holo

Page 8: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

L'évolution du design sur Android

●4.x (2011)

●Design guidelines

Page 9: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

Material Design

Android 5.0 Lollipop (2014)

●Material design

●Même design pour tous les produits Google

●“Cross-platform”

Page 10: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

Material Design

Material is

the metaphor

Bold,

graphic,

intentional

Motion

provides

meaning

Page 11: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

Mais je suis développeur moi !

• Material Design = Guidelines != Règles

• Outils pour faciliter le design

• Ce n’est qu’un guide, à vous de faire le reste… Mais ce

n’est pas une raison pour faire n’importe quoi !

Page 12: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

« Suivez les standards, sauf s’il

existe une alternative vraiment

meilleure »About Face – Alan Cooper

Page 13: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

De Holo à Material

Page 14: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

Steam Explorer - Holo

Page 15: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

Material theme

Page 16: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

Material theme

• Créer un dossier pour

Android 5.0

• 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.DarkActi

onBar

Page 17: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

Demo - code

Page 18: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

Demo - résultat

Page 19: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

Colors

• Nouveaux attributs pour

colorer son application

• colorPrimary : couleur

principale de l’application

• colorPrimaryDark : variante

plus sombre

• Librairie Palette (support v7)

Page 20: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

Colors

Page 21: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

Demo - résultat

Page 22: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

Floating action button

Page 23: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

FAB - design rules

• Bouton flottant

• Au-dessus de l’UI (couche

supérieure)

• Action majeure de l’écran

• Pas plus d’un par écran, mais

pas obligatoire

Page 24: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

FAB - code

• View customisée, drawable

ou reprise d’un projet Github

existant

• iosched

• FloatingActionButton

• Compatible jusqu’à 2.x avec

des adaptations

Page 25: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

public void init(int fabColor)

{

setWillNotDraw(false);

this.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

mButtonPaint = new Paint(Paint.ANTI_ALIAS_FLAG);

mButtonPaint.setColor(fabColor);

mButtonPaint.setStyle(Paint.Style.FILL);

mButtonPaint.setShadowLayer(10.0f, 0.0f, 3.5f,

Color.argb(100, 0, 0, 0));

invalidate();

}

FAB - code

Page 26: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

@Override

protected void onDraw(Canvas canvas)

{

canvas.drawCircle(getWidth()/2, getHeight()/2,(float)

(getWidth()/2.6), mButtonPaint);

}

FAB - code

Page 27: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

Demo

Page 28: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

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

• QuickReturnListView Github

• Pensez à la petite animation

Page 29: Holo to material design - Devoxx France 2015

@YourTwitterHandle@YourTwitterHandle@Aerilys#HoloToMaterial

Démo

Page 30: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

Cards - Design rules

• Popularisées par Google

Now, Facebook…

• 1 card = 1 idée, notion ou

contenu

• Ne s’applique pas à toutes

les listes

Page 31: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

Cardviews - code

• Avant : cards avec un

drawable

Peu customisable

Pas standard

Pas de gestion dynamique

des ombres

• Avec Android Lollipop

Facilement customisable

Support v7

Attribut elevation pour

gérer les ombres

Page 32: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

Demo

Page 33: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

Animation

• Nombreuses nouvelles APIs

Transitions entre activities

Ripple effect

Shadows

Et plus !

Page 34: Holo to material design - Devoxx France 2015

@YourTwitterHandle@YourTwitterHandle@Aerilys#HoloToMaterial

Demo

Page 35: Holo to material design - Devoxx France 2015

@YourTwitterHandle@YourTwitterHandle@Aerilys#HoloToMaterial

Demo

Page 36: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

Animations – Elément partagé

XML

<ImageView

android:id="@+id/categoryImage"

android:layout_width="match_parent"

android:layout_height="@dimen/tile_height"

android:scaleType="centerCrop"

android:transitionName="gameappImage"

android:src="@drawable/action"/>

Page 37: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

Animations – Elément partagé

Java

Intent intent = GameActivity_.intent(this).get();

intent.putExtra(GameActivity.INTENT_SELECTED_GAME, gameApp);

ActivityOptions options = ActivityOptions

.makeSceneTransitionAnimation(this,

view.findViewById(R.id.categoryImage), "gameappImage");

startActivity(intent, options.toBundle());

Page 38: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

Material design dans le monde réel

Page 39: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

Evernote

Page 40: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

Asparagus

Page 41: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

Google Plus

Page 42: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

Pushbullet

Page 43: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

Inbox

Page 44: Holo to material design - Devoxx France 2015

@YourTwitterHandle@YourTwitterHandle@Aerilys#HoloToMaterial

Conclusion

Page 45: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

Quelques liens

Material design guidelines:

http://www.google.com/design/

Material with Polymer:

http://www.polymer-project.org/docs/elements/material.html

Material with Angular:

http://material.angularjs.org/

Page 46: Holo to material design - Devoxx France 2015

@Aerilys#HoloToMaterial

Conclusion

• Material Design is cool!

• Possibilité de l’appliquer

avant Android Lollipop

• … Et même sur d’autres

plateformes !

Page 47: Holo to material design - Devoxx France 2015

@YourTwitterHandle@YourTwitterHandle@Aerilys#HoloToMaterial

Q & A


Recommended