首页 > 其他分享 >十大Material Design开源项目

十大Material Design开源项目

时间:2023-09-12 14:38:28浏览次数:43  
标签:主页 Material 开源 mobilehub Design 开发者 Android


摘要:本文详细介绍了十个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组件,可非常便捷地对应用界面进行设置。

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


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:



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):


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.   
9. <ImageView  
10. android:layout_width="?android:actionBarSize"  
11. android:layout_height="?android:actionBarSize"  
12. android:src="@android:drawable/ic_menu_edit"  
13. android:layout_centerInParent="true"  
14. android:padding="10dp"  
15. android:background="@android:color/holo_blue_dark"/>  
16.   
17. </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:


1. app:baseColor="#0056d3"

自定义Error Color:


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



相关链接:MaterialEditText的mobilehub主页

4. Android-LollipopShowcase

比如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:


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.   
9. <com.dexafree.materiallistviewexample.view.MaterialListView  
10. android:layout_width="fill_parent"  
11. android:layout_height="fill_parent"  
12. android:id="@+id/material_listview"/>  
13.   
14. </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包装。


自定义颜色等操作:

1. // change color  
2. MaterialMenu.setColor(int color)  
3.   
4. // change transformation animation duration  
5. MaterialMenu.setTransformationDuration(int duration)  
6.   
7. // change pressed animation duration  
8. MaterialMenu.setPressedDuration(int duration)  
9.   
10. // change transformation interpolator  
11. MaterialMenu.setInterpolator(Interpolator interpolator)  
12.   
13. // set RTL layout support  
14. 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组件。


交互代码回调:

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主页


标签:主页,Material,开源,mobilehub,Design,开发者,Android
From: https://blog.51cto.com/u_14523369/7445189

相关文章

  • AI艺术写真头像二维生成分销公众号小程序开源版开发
    AI艺术写真头像二维生成分销公众号小程序开源版开发以下是AI艺术写真头像二维生成分销公众号小程序的功能列表:用户注册和登录功能:用户可以通过手机或邮箱注册和登录账号。AI艺术写真头像生成功能:用户可以上传照片,通过AI技术生成艺术风格的写真头像。二维生成功能:用户可以将生成的艺......
  • 开源即时通讯(IM)项目OpenIM源码部署流程
    由于OpenIM依赖的组件较多,开发者需求不一,导致OpenIM部署一直被人诟病,经过几次迭代优化,包括依赖的组件compose的一键部署,环境变量设置一次,全局生效,以及脚本重构,目前OpenIM部署比较丝滑,特写文章分享给大家。OpenIM是什么OpenIM不是一个独立的聊天产品,它不像telegram、S......
  • Ant Design Vue Table 嵌套子表格的数据刷新方法
    父子组件各自负责,在table中嵌套了子表格后,首次加载表格时,父组件会实例化子组件并传递参数,折叠后再次展开时,只会传递参数,子组件的数据刷新就属于子表格了。如@@@code<template#expandedRowRender="{record}"><originIndexs......
  • 程序员 AI 助手来了,蚂蚁正式开源代码大模型 CodeFuse
    9月8日,外滩大会分论坛上,蚂蚁集团首次开源了代码大模型CodeFuse。支付宝小程序云负责人李铮宣布CodeFuse正式开源这是蚂蚁自研的代码生成专属大模型,根据开发者的输入提供智能建议和实时支持,帮助开发者自动生成代码、自动增加注释,自动生成测试用例,修复和优化代码等,以提升研发......
  • OSCAR开源专访 | 企业内源最大的挑战在于改变封闭思维和竞争观念——智网创新中心张东
    开源作为一种开放的、无边界的新型协作模式,是数字经济创新、开放、共享、可持续发展的源头活水。开源的大获成功也启发不少企业将开源软件开发的经验教训应用到组织内部中来,是谓内源。当前内源建设已成为企业提升研发效率、释放产业效能的重要手段,在通信行业亦是如此,同时各项能力建......
  • 开源社区赋能,Walrus 用户体验再升级
    基于平台工程理念的应用管理平台Walrus已于上月正式开源,目前在GitHub已收获177颗星......
  • react18-webchat网页聊天实例|React Hooks+Arco Design仿微信桌面端
    React18Hooks+Arco-Design+Zustand仿微信客户端聊天ReactWebchat。react18-webchat基于react18+vite4.x+arco-design+zustand等技术开发的一款仿制微信网页版聊天实战项目。实现发送带有emoj消息文本、图片/视频预览、红包/朋友圈、局部模块化刷新/美化滚动条等功能。使用技术......
  • Falcon 180B 目前最强大的开源模型
    TechnologyInnovationInstitute最近发布了Falcon180B大型语言模型(LLM),它击败了Llama-270b,与谷歌Bard的基础模型PaLM-2Large不相上下。180B是是Falcon40B模型一个最新版本。以下是该模型的快速概述:180B参数模型,两个版本(base和chat)使用RefinedWeb数据集训练3.5万亿个令......
  • ant design of vue 表格 默认,跨页勾选,翻页选择记忆勾选,数据回显勾选
    需求在使用antdesignofvue的table表格时需要让之前已选择的数据显示勾选状态,还要支持跨页勾选思路需要指定row-key绑定的值必须唯一ant-design-vue的表格对于跨页勾选支持的非常友好,只要设置绑定一下rowKey就可以了,我这里绑定的是workerId代码<!--表格--><a-......
  • 提取.NET开发的DLL中的类为json文件工具软件ConsoleApp_Dll_Class2Json_V1.0开源了
    提取.NET开发的DLL中的类为json文件工具软件ConsoleApp_Dll_Class2Json_V1.0开源了同步在github和gitee上面发布。github https://github.com/binghe021/ConsoleApp_Dll_Class2Jsongitee https://gitee.com/binghe021/ConsoleApp_Dll_Class2Json......