文字保护纱-Material Design
Ok,关于这个Material Design 都快被说烂了,他被开发者越来越熟悉的程度,却与市场上的单薄身影形成了鲜明的对比,以至于每当我提及Material Design时就像祥林嫂附身一样。
有些人说,MD里有些看起来很泛,告诉你一个绝招,如果你是一个独立开发者,或者你的app对UI的要求相对较低,又或者你身边没有UI资源,你完全可以按照MD里的规范COPY一个相对看起来会很顺眼的应用,甚至完爆所谓的UI设计出的low设计。
今天,给大家介绍个干货,MD的官网地址就不粘贴了,有的自会有,没有的,你也看不了(要FQ),给个中文版的,感谢这些英文大牛(虽然翻译的有的不贴切),真心感谢,人要有感恩的心,地址如下:http://design.1sters.com/。
干货来了,文字保护纱-protection scrims,纱是纱布的纱,不是沙子的沙,附上地址:http://wiki.jikexueyuan.com/project/material-design/style/imagery.html
配个图更好说明


请注意昵称这一栏,背景有一段是过度色,这部分过度色的作用就是文字保护纱,有的时候在设计中会发现由于背景色彩的不确定性,会导致浮在上面的文字没有很好的对比度,为了保护文字的可读性,文字保护纱是这种设计感念便应用而生
这是我最近做的一款应用,我就是属于那种上面说的独立APP开发人员,没有什么好的UI资源,完全自己参考MD设计,完全自给自足,但是对于一个程序员,是不是不要要求太苛刻了呢,呵呵。
下面我就写一下如何通过程序代码实现这个文字保护纱,不需要设计切图哦,这多省钱。
必须是drawable
scrim_bottom.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:angle="90"
android:startColor="@color/translucent_scrim_bottom"
android:centerColor="@color/translucent_scrim_bottom_center"
android:endColor="@android:color/transparent"/>
</shape>
很简单对不对?就是一个渐变而已,那么关键是渐变色值的选取,我引用一下原文:
暗纱(dark scrims)理想的透明度应当在 20%-40% 之间,亮纱(light scrims)理想的透明度应当在 40%-60% 之间,都要视具体内容来定。
我们知道在Android中表示颜色是用16进制值来表示,比如白色就是#ffffff,六位对不对,那么如果给白色加透明度,就是在在开头加上2位来表示透明度,前两位:00表示完全透明,ff表示完全不透明,比如#33ffffff,有了透明度的色值就是八位的,对不对?
暗纱,就是黑色的20%-40%之间,我们将这个值换算成透明度色值(这个就是某些做UI的都不知道怎么算呢,确切的说没有这个概念,嘿嘿),那么计算公式如下:
255 * % 转换 16进制即可,例如要20%的透明度, 255 * 20% = 51, 51转换为16进制为33。那么一个20%透明度的黑的写法为#33000000。
那么计算公式会了,我们就可以按照自己的需求来定制透明度了,如果你的UI只会告诉你百分比,你也会自己计算的不是吗?
数值我就不黏贴了,因为在实际的使用中20%到40%的百分比起不到很到的效果,要说明一点,不要照本宣科,要灵活运用,体会精神!
文章做了一次更新,标题有错别字,修改一些笔误,哭~
文字保护纱-Material Design的更多相关文章
- Material Design学习笔记
Wiki->移动开发->Android->Material Design-原质化设计 (友情链接:http://wiki.jikexueyuan.com/project/materi ...
- Material Design Lite,简洁惊艳的前端工具箱。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博客地址为http://www.cnblogs.com/jasonnode/ .网站上有对应每一 ...
- Material Design Lite,简洁惊艳的前端工具箱 之 交互组件。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接, 博客地址为http://www.cnblogs.com/jasonnode/ . 网站上有对应 ...
- Material Design学习
前言: 最为一个用习惯了bootstrap的前端小菜,今天偶然听闻material design 这个从未听闻的前端框架,带着好奇开始了新的尝试,并将bootstrap跟material design ...
- Android5.0新特性——Material Design简介
Material Design Material Design简介 Material Design是谷歌新的设计语言,谷歌希望寄由此来统一各种平台上的用户体验,Material Design的特点是干 ...
- Material Design For Xamarin.Forms
最近,升级 Xamarin.Forms 到最新版本后,发现Droid 项目下引入了以下几个依赖包: Xamarin.Android.Support.DesignXamarin.Android.Supp ...
- Android Material Design简单使用
吐槽 作为一个 Android developer,没有什么比拿着 UI 设计的一堆 iOS 风格的设计 来做需求更恶心的了,基本所有空间都要照着 iOS 来画一遍,Material Design 辣 ...
- Android入门3:从Toolbar到Material Design
在Android5.0(API 21)之后,Toolbar被Google推广,逐渐走入大家视野.具体关于Actionbar和Toolbar的对比就不多啰嗦了,跟着潮流走是没错的.下面先上张简单的效果图 ...
- Android Material Design之Toolbar与Palette
转:http://blog.csdn.net/jdsjlzx/article/details/41441083 前言 我们都知道Marterial Design是Google推出的全新UI设计规范,如 ...
随机推荐
- Extjs4 关于Store的一些操作(转)
1.关于加载和回调的问题 ExtJs的Store在加载时候一般是延迟加载的,这时候Grid就会先出现一片空白,等加载完成后才出现数据:因此,我们需要给它添加一个提示信息! 但是Store却没有wait ...
- extend简单用法
eg:var obj1=[{a:1,b:2},{a:2,b:3}] var obj2=[{c:3,d:2},{c:4,d:3}] var resultArray=[]; for (var i = 0; ...
- js浏览器键盘事件控制(转自新浪微博)
js键盘事件全面控制 主要分四个部分第一部分:浏览器的按键事件第二部分:兼容浏览器第三部分:代码实现和优化第四部分:总结 第一部分:浏览器的按键事件 用js实现键盘记录,要关注浏览器的三种按键事件类型 ...
- SVN更新失败,提示locked
使用SVN更新资源时,提示locked,解决方案如下: 首先找到是哪个文件不能进行更新/提交,在本地工作区间中找到这个文件对应的目录,目录里面会有.svn文件夹,这个文件夹默认是隐藏的,需要设置文件夹 ...
- dede取得指定栏目的链接
获取标签 typeid 为目录的 id {dede:type typeid='1'} <a href="[field:typelink /]">[field ...
- JavaScript不可变原始值和可变的对象引用
一.JavaScript不可变原始值 JavaScript中的原始值(undefined,null,布尔值,数字和字符串)与对象(包括了数组和函数)有着根本的区别.原始值是不可变的(undefined ...
- django-orm-standalone
django-orm-standalone script via:https://github.com/masnun/django-orm-standalone/ # Django specific ...
- 如何在search中动态的显示和隐藏tree中的字段
在tree定义 invisible 来自context <field name="country_id" invisible="context.get('invis ...
- 《C++程序设计》上半部读书笔记
目录 前言 第一章 C++的初步知识 1 C语言的优点 2 C++产生的背景 3 C++对C的增强 4 如何体会C++的优点 ...
- 工作总结:MFC自写排序算法(升序)
最近一个需求里面需要实IP升序排序,用了qsort,结果是内部排序,甚至感觉排序结果不可预测性,于是自己写了一个外部排序. 需求如下:一个指针里面有N条记录,每条记录包含:IP,偏移地址,保留位,均占 ...