[经验总结]material design效果与开发总结

首先贴一个参考过的文章,写的不错: 在低版本android系统上实现Material design应用


下面是工作中总结出来的,列出了在<5.0的设备是如何实现material design的一些常见样式的

  • 大元素
    • 其他还有什么明显的大元素【待补充】
    • 下拉刷新【可以实现,类似Gmail下拉刷新的样式】
      • SwipeRefreshLayoutDemo 【google官方出的下来刷新,这里是一个例子】
      • android-Ultra-Pull-To-Refresh
    • Action Bar 【可以实现】
      • Google自己的support v7 r21提供的类即可,主要是Theme.AppCompat
    • Floating action button 【可以实现】
      • 开源项目 futuresimple/android-floating-action-button 比较合适,唯一的缺点就是值支持API 14以上的系统版本
    • Scrolling techniques (滚动)【可以实现】
      • 开源项目 NotBoringActionBar
    • Navigation drawer (导航抽屉)【可以实现】
      • Google自己的support v7 r21提供的类(具体可见Support v7最新版demo里边的AppCompat→Action Bar→Navigation Drawer Toggle)
      • 开源项目 kanytu/android-material-drawer-template 有Gmail样式的Navigation Drawer(展开时盖住ActionBar)
    • Navigational transitions (导航转换)【可能可以,但是还没有找】
      • 分2种:Parent to child, Sibling to sibling
    • Tabs (导航标签)【可以实现,但是没有找】
    • Bottom sheets (底部窗口)【应该可以,但是还没有找】
  • 其他小元素
    • 其他还有什么明显的小元素【待补充】
    • Ripple Effects【可以实现】
      • RippleEffect 开源项目效果最好
    • SnackBar【可以实现】
      • 开源项目MrEngineer13/SnackBar 已经可以满足需求了
      • 开源项目MaterialDesignLibrary
    • ColorSelector【可以实现】
      • 开源项目MaterialDesignLibrary 里边有这个控件
    • Typography 【可以实现,建议先不用】
      • 其实是2种字体:Robot – Latin, Greek, and Cyrillic scripts ;Noto – all other languages
    • Color (大色块) 【可以实现】
      • 与开发相关的是颜色的使用,Support v7 r21里边只是定义了一个material_blue系列的颜色,并没有将20种色系全部定义到project中。实际开发当中,开发只需要按照google的示例自己定义颜色就可以了
    • Layout: Metrics and Keylines (边距/间距方面的规定) 【可以实现】
      • 主要针对设计,实现没有问题
    • Tooltips(工具提示) 【可以实现】
      • 对于触屏来说,就是长按一个图形按钮(无文字)会出现一个tooltip
      • ActionBar已经实现了这种机制 ,这也是我强烈建议使用Google的ActionBar,而不要自己画一个看着像ActionBar的ActionBar
    • Text fields (文本输入) 【部分实现】
      • Support v7 r21提供的Theme.AppCompat主题已经涵盖了EditText控件,但是至于文字数与颜色变化等小特性我估计是没有的(没有调试),这个待以后补充
    • Buttons 【可以实现,具体待调试】
      • 这里边有4类buttons: Floating action button, Raised button, Flat button, Pulldown button
      • Floating action button见上方,
      • Raised button再找下开源项目,本质上是加了一个边缘的阴影
      • Flat button主要用于对话框的确定/取消按钮,这个在相关对话框开源项目里边已经有了(目前没有见到单独用的)
      • Pulldown button,看截图感觉和之前的Spinner的下来列表是一样的
    • Switches【可以实现,具体待调试】
      • 这里边有3类:Checkbox, Radio button, Switch
      • Support v7 r21里边Theme.AppCompat里边已经涵盖了上面3种控件的样式,不过颜色只有Light/Drak两种
      • 开源的第三方项目里边也有比较灵活的上述控件(自己重新写的),即可以很方便的更改颜色

你可能感兴趣的:([经验总结]material design效果与开发总结)