zoukankan      html  css  js  c++  java
  • 直接拿来用!十大Material Design开源项目

    介于拟物和扁平之间的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 plaincopy

    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 plaincopy

    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 plaincopy

    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:

    [xml] view plaincopy

    1. app:baseColor="#0056d3"  

    自定义Error Color:

    [xml] view plaincopy

    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 plaincopy在CO<wbr>DE上查看代码片派生到我的代码片

    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包装。

    自定义颜色等操作:

    [java] view plaincopy在CO<wbr>DE上查看代码片派生到我的代码片

    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. 

  • 相关阅读:
    数据类型装换
    变量及数据类型
    27 网络通信协议 udp tcp
    26 socket简单操作
    26 socket简单操作
    14 内置函数 递归 二分法查找
    15 装饰器 开闭原则 代参装饰器 多个装饰器同一函数应用
    12 生成器和生成器函数以及各种推导式
    13 内置函数 匿名函数 eval,exec,compile
    10 函数进阶 动态传参 作用域和名称空间 函数的嵌套 全局变量
  • 原文地址:https://www.cnblogs.com/freenovo/p/4469765.html
Copyright © 2011-2022 走看看