首页 > 代码库 > Creating Apps With Material Design —— Working with Drawables
Creating Apps With Material Design —— Working with Drawables
转载请注明 http://blog.csdn.net/eclipsexys 翻译自Developer Android,时间仓促,有翻译问题请留言指出,谢谢
Drawable
通过可绘制了以下功能帮助您实现材料设计你的应用程序:
可绘制着色
突出的颜色提取
矢量可绘
这一课将告诉您如何使用您的应用程序这些功能。
可调色的Drawable资源
采用Android5.0(API等级21)以上,则可以着色定义为透明遮罩位图和nine-patches图。您可以调整它们的色彩资源或主题属性,以便于解决颜色资源(例如,
?android:attr/colorPrimary
)。通常情况下,您将创建这些资产只有一次,并自动将它们上色,以符合您的主题。 您可以将色彩以BitmapDrawable或NinePatchDrawable对象与setTint()方法。您还可以设置色调的颜色和模式,在不同的界面与
android:tint
和android: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=http://www.mamicode.com/"M20.5,9.5>
矢量图在Android中表示为VectorDrawable对象。有关pathData语法的详细信息,请参阅SVG的路径参考。有关动画的矢量可绘制对象的属性的详细信息,请参阅矢量动画效果可绘制对象。
Creating Apps With Material Design —— Working with Drawables
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。