Material Design列

Android(Lollipop/5.0) Material Design(一) 简单介绍

Android(Lollipop/5.0) Material Design(二) 入门指南

Android(Lollipop/5.0) Material Design(三) 使用Material主题

Android(Lollipop/5.0) Material Design(四) 创建列表和卡片

Android(Lollipop/5.0) Material Design(五) 定义阴影和裁剪View

Android(Lollipop/5.0) Material Design(六) 使用图片

Android(Lollipop/5.0) Material Design(七) 自己定义动画

Android(Lollipop/5.0) Material Design(八) 保持兼容性

官网地址:https://developer.android.com/training/material/drawables.html

下面图片的功能能帮助你在app中实现Material设计:

·图片着色

·颜色提取

·矢量图片

Tint Drawable Resources  为图片资源染色

在Android 5.0(API级别21)及以上,你能够将图片和9-patch定义为掩饰透明度。你能使用颜色资源(如。?android:attr/colorPrimary)或主题属性来给它们上色。通常,你仅仅需创建这些资源一次,且自己主动匹配你的主题为它们上色。

能够为BitmapDrawable和NinePatchDrawable 的对象使用setTint(int tint)进行染色。也能够在xml中定义android:tint和android:tintMode属性。

·关于setTint(int tint)的參数,能够是一个@color/下的属性。也能够是一个xml的selector,selector中的item是使用了数字的,如:

 <selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_focused="true" android:color="@color/testcolor1"/><item android:state_pressed="true" android:state_enabled="false" android:color="@color/testcolor2" /><item android:state_enabled="false" android:color="@color/testcolor3" /><item android:color="@color/testcolor5"/></selector>

·关于xml中定义属性。如:

<?xmlversion="1.0"encoding="utf-8"?>

<nine-patchxmlns:android="http://schemas.android.com/apk/res/android"

android:tint="@color/abc_primary_text_material_light"

android:tintMode="src_over"

... >

</nine-patch>

Extract Prominent Colors from an Image  从图片抽取明显的颜色

在api21上的support-v7库中有一个android-support-v7-palette.jar,它可以让你从图片中抽取一些显眼的颜色:

Palette p = Palette.generate(Bitmap bitmap);

·鲜艳的                p.getVibrantColor(int defaultColor);
·鲜艳的黑暗         p.getDarkVibrantColor(int defaultColor);
·鲜艳的明亮         p.getLightVibrantColor(int defaultColor);
·柔和的                p.getMutedColor(int defaultColor);
·柔和的黑暗         p.getDarkMutedColor(int defaultColor);
·柔和的明亮         p.getLightMutedColor(int defaultColor);

Palette.generate(),用于在后台线程中运行,假设在前台线程中创建Palette对象,那么能够使用Palette.generateAsync()。

Create Vector Drawables  创建矢量图片

在Android 5.0(API级别21)及以上 能够创建矢量图片,如以下的样例能够绘制一个心形的矢量图:

<!-- 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.5c-1.955,0,-3.83,1.268,-4.5,3c-0.67,-1.732,-2.547,-3,-4.5,-3C8.957,9.5,7,11.432,7,14c0,3.53,3.793,6.257,9,11.5c5.207,-5.242,9,-7.97,9,-11.5C25,11.432,23.043,9.5,20.5,9.5z" />
</vector>

矢量图片Android正在使用VectorDrawble与此相对应的对象。path很多其它信息可:http://www.w3.org/TR/SVG11/paths.html#PathData。

转载于:https://www.cnblogs.com/bhlsheji/p/4828127.html

Android(Lollipop/5.0) Material Design(六) 使用图像相关推荐

  1. Android(Lollipop/5.0) Material Design(七) 自定义动画

    Material Design系列 Android(Lollipop/5.0) Material Design(一) 简介 Android(Lollipop/5.0) Material Design( ...

  2. android 5.0跳转动画,android Lollipop(5.0)--activity跳转动画

    android Lollipop(5.0)对app中有共享view的activity直接的跳转提供了更好的动画交互. 实现步骤: 1,编写需要的transform. 2,给activity设置样式st ...

  3. Android Lollipop 5.0 经典新特性回顾

    *Tamic 专注移动开发! 更多文章请关注 http://blog.csdn.net/sk719887916 虽然Android已到了7.0 ,但是我们还是不能忘怀视觉革命性改变的5.0,今天回顾下 ...

  4. Android 分享会:Material Design 在 Android 中的应用

    前言 我刚来这个公司的时候,每个周三都会有分享会,主题自定,分享对象尽量是面向大众,一开始觉得不错,但是到后面发现分享的内容不是那么有营养,而且积极性不是很高,都是当做任务进行分享. 程序员因为较为腼 ...

  5. Android Lollipop (5.0) 原生代码 Settings 首页加载逻辑分析

    主入口为com.android.settings.Settings. 这只是一个wrapper的类, 它继承于 SettingsActivity类,并且声明了一堆公有的继承于SettingsActiv ...

  6. Android Material Design按钮样式设计

    Today we'll dive deep into Android Buttons in Material Design and develop an application that showca ...

  7. Android开发的UI设计——Material Design

    前言 Material Design 是用于指导用户在各种平台和设备上进行视觉.动作和互动设计的全面指南.如需在您的 Android 应用中使用 Material Design,请遵循 Materia ...

  8. Android Material Design Icon Genenerator 插件为个人开发者提供 Icon 图标大全

    前言 如果你作为个人开发者,没有美工小姐姐的情况下,项目中的图标 icon 很是苦恼.之前用过阿里巴巴图标库 Iconfont,后来发现 Android studio 中有一个很牛逼的 icon 插件 ...

  9. Material Design设计规范

    作为技术开发者需不需要了解设计规范?个人认为非常需要,一个交流的需要,另一就是了解相关的设计才能储备相应地知识,知道UI开发的方向.这问题非常希望读者能留言讨论. **Android**的设计风格变迁 ...

最新文章

  1. 《Adobe InDesign CS6中文版经典教程》—第2课2.1节概述
  2. FPGA之道(49)DCM与PLL
  3. 大数据项目实践:基于hadoop+spark+mongodb+mysql开发医院临床知识库系统
  4. python四舍五入保留小数点后三位_Python中的“正确”四舍五入到小数点后3位
  5. python写安卓app控制蓝牙_Python脚本利用adb进行手机控制的方法
  6. DOM操作之确定元素大小
  7. Linux内核模块下载到板子,在Linux内核中增加新驱动模块
  8. 手机版php7怎么安装,Centos7 安装 PHP7最新版的详细教程
  9. 前端React实现pdf在线阅读和电子合同
  10. 碧桂园建筑机器人造楼,梦照进现实还是“海市蜃楼”?
  11. 42所双一流大学图书馆公众号
  12. scala--模式匹配
  13. 看完李宏毅的视频我决定学好英语了
  14. 【C语言】判断一个年份是否为闰年
  15. 全球与中国DIN导轨式信号调理器市场现状及未来发展趋势
  16. CSS:外部样式表/内部样式表/内联样式
  17. 如何近似计算回归方程的预测区间?
  18. c语言在数组中找最小数,C语言 查找数组中最大最小元素
  19. AI赋能视频译制,微软和人大提出自动视频译制技术VideoDubber
  20. java代码混淆工具Allatori

热门文章

  1. [转]RSA算法简介
  2. 介绍一种新的激活函数族ACON
  3. 妙笔生花!文字图像图形生成技术研究进展
  4. Python基础之格式化输出函数format()详解
  5. CVPR系列(二)—— 双图层实例分割,大幅提升遮挡处理性能
  6. keil 快捷键_KEIL 那些编辑技巧与方法
  7. 中科院自动化所与华为联合提出!视觉目标检测大模型GAIA
  8. 卷积神经网络CNN如何训练?
  9. 深度学习(十五)基于级联卷积神经网络的人脸特征点定位
  10. 会议管理的十条黄金原则