Creating Apps With Material Design —— Working with Drawables

简介: 转载请注明 http://blog.csdn.net/eclipsexys 翻译自Developer Android,时间仓促,有翻译问题请留言指出,谢谢Drawable通过可绘制了以下功能帮助您实现材料设计你的应用程序:     可绘制着色     突出的颜色提取     矢量可绘 这一课将告诉您如何使用您的应用程序这些功能。

转载请注明 http://blog.csdn.net/eclipsexys 翻译自Developer Android,时间仓促,有翻译问题请留言指出,谢谢


Drawable

通过可绘制了以下功能帮助您实现材料设计你的应用程序: 


    可绘制着色 
    突出的颜色提取 
    矢量可绘 

这一课将告诉您如何使用您的应用程序这些功能。 


可调色的Drawable资源


采用Android5.0(API等级21)以上,则可以着色定义为透明遮罩位图和nine-patches图。您可以调整它们的色彩资源或主题属性,以便于解决颜色资源(例如, ?android:attr/colorPrimary)。通常情况下,您将创建这些资产只有一次,并自动将它们上色,以符合您的主题。 

您可以将色彩以BitmapDrawable或NinePatchDrawable对象与setTint()方法。您还可以设置色调的颜色和模式,在不同的界面与 android:tintandroid:tintMode属性,从图像中提取颜色突出。 

Android的支持库R21及以上包括面板类,它可以让你从图像中提取突出的颜色。这个类中提取以下突出的颜色: 

    充满活力 
    充满活力的黑暗 
    充满活力的光 
    静音 
    柔和的暗 
    柔和的光线 

要提取这些颜色,传递一个Bitmap对象到您加载图片的Palette.generate()静态方法在后台线程。如果你不能使用线程调用Palette.generateAsync()方法,并提供了一个监听器来代替。 

你可以从图像使用getter方法​​在面板类,如Palette.getVibrantColor突出的颜色。 

要使用调色板类项目,以下摇篮依赖添加到您的应用程序的模块:

dependencies {
    ...
    compile 'com.android.support:palette-v7:+'
}

创建VerctorDrawable

在安卓5.0(API等级21)以上,则可以定义向量可绘制对象,其中规模又不失清晰。你的矢量图像仅需要一个资源文件,而不是一个资产文件中的位图图像的情况下,每个屏幕密度。要创建一个矢量图像,你定义了一个<vector> XML元素内部的形状的细节。 

下面的例子定义了心脏的形状矢量图像:

<!-- res/drawable/heart.xml -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    <!-- intrinsic size of the drawable -->
    android:height="256dp"
    android:width="256dp"
    <!-- size of the virtual canvas -->
    android:viewportWidth="32"
    android:viewportHeight="32">

  <!-- draw a path -->
  <path android:fillColor="#8fff"
      android:pathData="M20.5,9.5
                        c-1.955,0,-3.83,1.268,-4.5,3
                        c-0.67,-1.732,-2.547,-3,-4.5,-3
                        C8.957,9.5,7,11.432,7,14
                        c0,3.53,3.793,6.257,9,11.5
                        c5.207,-5.242,9,-7.97,9,-11.5
                        C25,11.432,23.043,9.5,20.5,9.5z" />
</vector>

矢量图在Android中表示为VectorDrawable对象。有关pathData语法的详细信息,请参阅SVG的路径参考。有关动画的矢量可绘制对象的属性的详细信息,请参阅矢量动画效果可绘制对象。








目录
相关文章
|
9月前
|
设计模式 分布式计算 Kubernetes
译|Design patterns for container-based distributed systems(上)
译|Design patterns for container-based distributed systems
45 0
|
9月前
|
设计模式 缓存 监控
译|Design patterns for container-based distributed systems(下)
译|Design patterns for container-based distributed systems(下)
41 0
SAP RETAIL Allocation Rule based on Material Group(二)
SAP RETAIL Allocation Rule based on Material Group(二)
SAP RETAIL Allocation Rule based on Material Group(二)
SAP RETAIL Allocation Rule based on Material Group(一)
SAP RETAIL Allocation Rule based on Material Group(一)
SAP RETAIL Allocation Rule based on Material Group(一)
SAP Fiori extension hook added via note
SAP Fiori extension hook added via note
SAP Fiori extension hook added via note
sap.ca.ui.utils.busydialog - scenario1 - opportunity opened
Created by Wang, Jerry, last modified on Jun 29, 2015
90 0
sap.ca.ui.utils.busydialog - scenario1 - opportunity opened