$30 off During Our Annual Pro Sale. View Details »

Material Design for Old Schoolers

Material Design for Old Schoolers

Nowadays, we as android developers suffer serious problems regarding android fragmentation if we wanna use Material Design.
In this talk we will learn how to make backward compatibility easier when applying material design on older devices.
Welcome to the old school world of Material Design.

Fernando Cejas

January 31, 2015
Tweet

More Decks by Fernando Cejas

Other Decks in Programming

Transcript

  1. Material for old
    schoolers
    Fernado Cejas - Souncloud
    aka Cejakas
    @fernando_cejas
    [email protected]
    +FernandoCejas
    Jorge J. Barroso - Karumi
    aka Flipper83
    @flipper83
    [email protected]
    +JorgeJBarroso

    View Slide

  2. Material is cool

    View Slide

  3. What happens with old schoolers

    View Slide

  4. What google provides?

    View Slide

  5. com.android.support:appcompat-v7
    Themes
    ActionBar and ToolBar
    Transitions
    Widget Tinting

    View Slide

  6. Styling Material
    
<br/><item name="colorPrimary">@color/theme_default_primary</item>
<br/><item name="colorPrimaryDark">@color/theme_default_primary_dark</item>
<br/><item name="colorAccent">@color/theme_default_accent</item>
<br/><item name="colorControlHighlight">@color/theme_default_accent_light</item>
<br/>

    View Slide

  7. Styling Material
    values/themes.xml
    !
    
<br/>
    !
    values-21/themes.xml
    !
    
<br/><item name="android:windowContentTransitions">true</item>
<br/><item name="android:windowAllowEnterTransitionOverlap">true</item>
<br/><item name="android:windowAllowReturnTransitionOverlap">true</item>
<br/>

    View Slide

  8. Be careful with some
    Samsung devices
    Proguard to the rescue!!!

    View Slide

  9. Tint doesn’t work on
    custom views!!

    View Slide

  10. com.android.support:recyclerview-v7
    Bye Bye List view!
    Extends from RecyclerAdapter
    ViewHolder by default
    Layout manager

    View Slide

  11. com.android.support:recyclerview-v7
    Change your dividers for
    ItemDecoration

    View Slide

  12. com.android.support:recyclerview-v7
    Change your headers and footers
    for ItemTypes.

    View Slide

  13. com.android.support:recyclerview-v7
    OnItemClick doesn’t exist any
    more, delegate click functionality
    to view holders

    View Slide

  14. com.android.support:recyclerview-v7
    Add animations with
    ItemAnimator, it’s easy and it’s
    cool.

    View Slide

  15. com.android.support:cardview-v7

    View Slide

  16. com.android.support:palette-v7
    Only in compat
    Check null
    Problems with some images

    View Slide

  17. Toolbar vs ActionBar
    ToolBar is a viewGroup
    setSupportActionBar();
    Extends from ActionBarActivity
    Deactivate ActionBar via Theme

    View Slide

  18. VectorDrawable vs ‘Font as icon’
    You can use icon fonts for reduce
    the number of assets on you app.
    Keep performance!!! please!!

    View Slide

  19. Transitions
    ActivityOptionsCompat options = ActivityOptionsCompat.

    makeSceneTransitionAnimation((Activity) context, pairs);

    !
    !
    
<br/><item name="android:windowContentTransitions">true</item>
<br/><item name="android:windowAllowEnterTransitionOverlap">true</item>
<br/><item name="android:windowAllowReturnTransitionOverlap">true</item>
<br/>

    View Slide

  20. View Slide

  21. Bibliography
    https://developer.android.com/training/material/compatibility.html
    http://android-developers.blogspot.de/2014/10/implementing-material-design-in-your.html
    http://antonioleiva.com/material-design-everywhere/
    http://www.slideshare.net/arueggeberg/material-design-and-backwards-compatibility
    https://github.com/navasmdc/MaterialDesignLibrary
    https://github.com/markushi/android-ui
    https://github.com/flipper83/transition-old-school

    View Slide

  22. Q&A

    View Slide