十大Material Design开源项目

FYI: http://wiki.jikexueyuan.com/project/material-design/material-design-intro/introduction.html

http://www.csdn.net/article/2014-11-21/2822753-material-design-libs

摘要:本文详细介绍了十个Material Design开源项目,从示例、FAB、菜单、动画、Ripple到Dialog,看被誉为“Google第一次在设计语言和规范上超越了Apple”的Material Design是如何逐渐成为App的一种全新设计标准。

介于拟物和扁平之间的Material Design自面世以来,便引起了很多人的关注与思考,就此产生的讨论也不绝于耳。本文详细介绍了在Android开发者圈子里颇受青睐的十个Material
Design开源项目,从示例、FAB、菜单、动画、Ripple到Dialog,看被称为“Google第一次在设计语言和规范上超越了Apple”的Material Design是如何逐渐成为App的一种全新设计标准。

1. MaterialDesignLibrary

在众多新晋库中,MaterialDesignLibrary可以说是颇受开发者瞩目的一个控件效果库,能够让开发者在Android 2.2系统上使用Android 5.0才支持的控件效果,比如扁平、矩形、浮动按钮,复选框以及各式各样的进度指示器等。

除上述之外,MaterialDesignLibrary还拥有SnackBar、Dialog、Color selector组件,可非常便捷地对应用界面进行设置。

进度指示器样式效果设置:

[xml] view
plain
copy

  1. <com.gc.materialdesign.views.ProgressBarCircularIndetermininate
  2. android:id="@+id/progressBarCircularIndetermininate"
  3. android:layout_width="32dp"
  4. android:layout_height="32dp"
  5. android:background="#1E88E5" />

Dialog:

[java] view
plain
copy

  1. Dialog dialog = new Dialog(Context context,String title, String message);
  2. dialog.show();

相关链接:MaterialDesignLibrary的mobilehub主页

2. RippleEffect

由来自法兰西的Robin Chutaux开发的RippleEffect基于MIT许可协议开源,能够在Android API 9+上实现Material Design,为开发者提供了一种极为简易的方式来创建带有可扩展视图的header视图,并且允许最大程度上的自定制。

用法(在XML文件中声明一个RippleView):

[xml] view
plain
copy

  1. <com.andexert.library.RippleView
  2. android:id="@+id/more"
  3. android:layout_width="?android:actionBarSize"
  4. android:layout_height="?android:actionBarSize"
  5. android:layout_toLeftOf="@+id/more2"
  6. android:layout_margin="5dp"
  7. ripple:rv_centered="true">
  8. <ImageView
  9. android:layout_width="?android:actionBarSize"
  10. android:layout_height="?android:actionBarSize"
  11. android:src="@android:drawable/ic_menu_edit"
  12. android:layout_centerInParent="true"
  13. android:padding="10dp"
  14. android:background="@android:color/holo_blue_dark"/>
  15. </com.andexert.library.RippleView>

相关链接:RippleEffect的mobilehub主页

3. MaterialEditText

随着Material Design的到来,AppCompat v21也为开发者提供了Material Design的控件外观支持,其中就包括EditText,但却并不好用,没有设置颜色的API,也没有任何Google Material Design Spec中提到的特性。于是,来自国内的开发者“扔物线”开发了MaterialEditText库,直接继承EditText,无需修改Java文件即能实现自定义控件颜色。

自定义Base Color:

[xml] view
plain
copy

  1. app:baseColor="#0056d3"

自定义Error Color:

[xml] view
plain
copy

  1. app:maxCharacters="10"
  2. app:errorColor="#ddaa00"

相关链接:MaterialEditText的mobilehub主页

4. Android-LollipopShowcase

Android-LollipopShowcase是由来自奥地利的移动、后端及Web开发者Mike Penz所开发的演示应用,集中演示了新Material Design中所有的UI效果,以及Android Lollipop中其他非常酷炫的特性元素,比如Toolbar、RecyclerView、ActionBarDrawerToggle、Floating Action Button(FAB)、Android Compat Theme等。

相关链接:Android-LollipopShowcase的mobilehub主页

5. MaterialList

MaterialList是一个能够帮助所有Android开发者获取谷歌UI设计规范中新增的CardView(卡片视图)的开源库,支持Android 2.3+系统。作为ListView的扩展,MaterialList可以接收、存储卡片列表,并根据它们的Android风格和设计模式进行展示。此外,开发者还可以创建专属于自己的卡片布局,并轻松将其添加到CardList中。

使用过程代码,在布局中声明MaterialListView:

[xml] view
plain
copy

  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. android:layout_width="match_parent"
  3. android:layout_height="match_parent"
  4. android:paddingLeft="@dimen/activity_horizontal_margin"
  5. android:paddingRight="@dimen/activity_horizontal_margin"
  6. android:paddingTop="@dimen/activity_vertical_margin"
  7. android:paddingBottom="@dimen/activity_vertical_margin">
  8. <com.dexafree.materiallistviewexample.view.MaterialListView
  9. android:layout_width="fill_parent"
  10. android:layout_height="fill_parent"
  11. android:id="@+id/material_listview"/>
  12. </RelativeLayout>

相关链接:MaterialList的mobilehub主页

6. android-floating-action-button

Floating Action Button(FAB)是众多专家大牛针对Material Design讨论比较细化的一个点,通过圆形元素与分割线、卡片、各种Bar的直线形成鲜明对比,并使用色彩设定中鲜艳的辅色,带来更具突破性的视觉效果。也正因如此,在Github上,有着许多与FAB相关的开源项目,基于Material Design规范的开源Android浮动Action Button控件android-floating-action-button便是其中之一。

 

其主要特性如下:

  • 支持常规56dp和最小40dp的按钮;
  • 支持自定义正常、Press状态以及可拖拽图标的按钮背景颜色;
  • AddFloatingActionButton类能够让开发者非常方便地直接在代码中写入加号图标;
  • FloatingActionsMenu类支持展开/折叠显示动作。

相关链接:android-floating-action-button的mobilehub主页

7. android-ui

android-ui是Android UI组件类库,支持Android API 14+,包含了ActionView、RevealColorView等UI组件。其中,ActionView可使Action动作显示动画效果,而RevealColorView则带来了Android 5.0中的圆形显示/隐藏动画体验。

相关链接:android-ui的mobilehub主页

8. Material Menu

Material Menu为开发者带来了非常酷炫的Android菜单、返回、删除以及检查按钮变形,完全控制动画,并为开发者提供了两种MaterialMenuDrawable包装。

自定义颜色等操作:

[java] view
plain
copy

  1. // change color
  2. MaterialMenu.setColor(int color)
  3. // change transformation animation duration
  4. MaterialMenu.setTransformationDuration(int duration)
  5. // change pressed animation duration
  6. MaterialMenu.setPressedDuration(int duration)
  7. // change transformation interpolator
  8. MaterialMenu.setInterpolator(Interpolator interpolator)
  9. // set RTL layout support
  10. MaterialMenu.setRTLEnabled(boolean enabled)

相关链接:Material Menu的mobilehub主页

9. Android-ObservableScrollView

Android-ObservableScrollView是一款用于在滚动视图中观测滚动事件的Android库。它能够轻而易举地与Android 5.0 Lollipop引进的工具栏(Toolbar)进行交互,还可以帮助开发者实现拥有Material Design应用视觉体验的界面外观,支持ListView、ScrollView、WebView、RecyclerView、GridView组件。

交互代码回调:

[java] view
plain
copy

  1. @Override
  2. public void onUpOrCancelMotionEvent(ScrollState scrollState) {
  3. ActionBar ab = getSupportActionBar();
  4. if (scrollState == ScrollState.UP) {
  5. if (ab.isShowing()) {
  6. ab.hide();
  7. }
  8. } else if (scrollState == ScrollState.DOWN) {
  9. if (!ab.isShowing()) {
  10. ab.show();
  11. }
  12. }
  13. }

相关链接:Android-ObservableScrollView的mobilehub主页

10. Material Design Icons

最后,再来介绍一下Google Material Design规范的官方开源图标集Material Design Icons。良心Google开源了包括Material Design系统图标包在内的750个字形,涵盖动作、音视频、通信、内容、编辑器、文件、硬件、图像、地图、导航、通知、社交等各个方面,适用于Web、Android和iOS应用开发,绝对是开发者及设计师必备的资源。

图标格式主要包括:

  • SVG格式,24px和48px;
  • SVG和CSS Sprites;
  • 适用于Web平台的1x、2x PNG格式图标;
  • 适用于iOS的1x、2x、3x PNG图标;
  • 所有图标的Hi-dpi版本(hdpi、mdpi、xhdpi、xxhdpi、xxxhdpi)。

相关链接:Material Design Icons的mobilehub主页

时间: 2024-10-09 16:43:08

十大Material Design开源项目的相关文章

直接拿来用!十大Material Design开源项目

介于拟物和扁平之间的Material Design自面世以来,便引起了很多人的关注与思考,就此产生的讨论也不绝于耳.本文详细介绍了在Android开发者圈子里颇受青睐的十个 Material Design开源项目,从示例.FAB.菜单.动画.Ripple到Dialog,看被称为“Google第一次在设计语言和规范上超越了Apple”的 Material Design是如何逐渐成为App的一种全新设计标准. 1. MaterialDesignLibrary 在众多新晋库中,MaterialDesi

Material Design 开源项目总结

Android开发中,我们不免会遇到Material Design展示的需求,以下是本人之前star的开源项目,供大家参考: 一.RippleEffect 项目地址:https://github.com/traex/RippleEffect MD Ripple效果 -- 波纹视图,用于View中增加动态效果. 效果图如下: 原文地址:https://www.cnblogs.com/renhui/p/9781716.html

&lt;转&gt;国内一些大公司的开源项目

昨天看阿里的MetaQ文档,感觉对于消息系统的理解,比起大多数文章都要出色得多了,有些分析也非常的有实用性.估计还有很多优秀的项目没被发掘,于是就调研了一下,国内一些大公司的开源项目. 阿里 阿里的开源项目很多,这也跟@淘宝正明的开源态度密不可分.有很多重量级的项目,例如LVS.Tengine,或者很有实践价值的中间件,例如MetaQ(分布式消息系统).dubbo(RPC框架).cobar(数据库中间件),或者是Java世界的工具,例如druid.fastjson.都说国内Java公司的技术架构

2013 年开源中国 10 大热门 Java 开源项目

2013 年结束了,我们根据过去一年的用户访问.交流分享和项目本身的更新频度等诸多角度对收录于开源中国的近三万款开源软件进行统计,从而得出前 XX 名最受欢迎的开源软件,仅供参考. 本排行榜主要是针对开源中国社区在2013年度最受欢迎的 10 大热门 Java 开源项目根据用户访问量.讨论和关注等角度进行筛选,从而得出前 10 名的 Java 开源软件列表: 1. JFinal JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速.代码量少.学习简单.功

国内一些大公司的开源项目

阿里 阿里的开源项目很多,这也跟@淘宝正明的开源态度密不可分.有很多重量级的项目,例如LVS.Tengine,或者很有实践价值的中间件,例如 MetaQ(分布式消息系统).dubbo(RPC框架).cobar(数据库中间件),或者是Java世界的工具,例如druid.fastjson.都说国内Java公司的技术架构大部分来自阿里系,我觉得一方面来自阿里员工,一方面也可以来自阿里的开源项目. 地址有几个: http://code.alibabatech.com/wiki/dashboard.act

国内大公司的开源项目( 阿里 腾讯 百度 新浪 搜狐 豆瓣 大众点评)

阿里 阿里的开源项目很多,这也跟@淘宝正明的开源态度密不可分.有很多重量级的项目,例如LVS.Tengine,或者很有实践价值的中间件,例如 MetaQ(分布式消息系统).dubbo(RPC框架).cobar(数据库中间件),或者是Java世界的工具,例如druid.fastjson.都说国内Java公司的技术架构大部分来自阿里系,我觉得一方面来自阿里员工,一方面也可以来自阿里的开源项目. 地址有几个: https://github.com/alibaba 阿里的前端也挺活跃的,比较有名的就是s

Material Design

资源 原文 http://www.uisdc.com/comprehensive-material-design-note 新鲜热辣!一组实用的 (http://www.uisdc.com/material-design-freebie)[Material Design] 风格素材 ttp://www.uisdc.com/tag/material-design "查看 Material Design 中的全部文章")> 该跟上潮流了!一大波优质的MATERIAL DESIGN资源

【Android】开源项目UI控件分类汇总之Dialog

接前文ProgressBar:Android开发的宝库越来越多,我开发中有需要的组件,主要参考Trinea的大作Android开源项目分类汇总(包含了后面的绝大多数).CSDN上直接拿来用!最火的Android开源项目还有CSDN上的直接拿来用!十大Material Design开源项目,受益匪浅,但是,有的分类项目太多,不是每个项目都有预览,不容易找到什么是最想要的,而且有一些项目不容易顺利地导入,我把同类的Demo做到一个app里,供大家下载参考.本文介绍几种Dialog.Dialog相关的

【Android】开源项目UI控件分类汇总之ProgressBar

Android开发的宝库越来越多,我开发中有需要的组件,主要参考Trinea的大作Android开源项目分类汇总(包含了后面的绝大多数).CSDN上直接拿来用!最火的Android开源项目还有CSDN上的直接拿来用!十大Material Design开源项目,受益匪浅,但是,有的分类项目太多,不是每个项目都有预览,不容易找到什么是最想要的,而且有一些项目不容易顺利地导入,我把同类的Demo做到一个app里,供大家下载参考.不过顺序没有按Trinea的大作来,当下需要什么控件,就优先写哪些,先从最