银行卡列表之背景颜色自动识别
目前市场是的大部分App, 都具有个人账户功能吧, 那么当然少不了银行卡这个角色. 银行卡列表背景色若设置成统一的单色调, 那多影响美观. 若我们能把银行logo的主色调当成背景, 那逼格瞬间提升百倍呀!
首先我们要读取logo的主色调, 当然得拿到logo. 这里用到了github上的这位大兄弟抓取的数据, https://github.com/digglife/cnbankcard
那logo不可能全部都放到assets中, 多影响app体积. 个人建议放服务器.
说这么多, 先看看效果图吧.
读取主色调,我这里用到了Palette, Palette其实就是调色板, 能够读取图片的色调, 包含柔和深色的、柔和的明亮、活跃的明亮、活跃的深色…
步骤
导入
你需要在工程下的build.gradle里添加依赖才可以使用Palette,像如下代码所示:
dependencies {compile 'com.android.support:palette-v7:27.1.1'
}
一些api
传入默认颜色防止Palette无法解析到指定颜色种类// 获取到柔和的深色的颜色(可传默认值)palette.getDarkMutedColor(Color.BLUE);// 获取到活跃的深色的颜色(可传默认值)palette.getDarkVibrantColor(Color.BLUE);// 获取到柔和的明亮的颜色(可传默认值)palette.getLightMutedColor(Color.BLUE);// 获取到活跃的明亮的颜色(可传默认值)palette.getLightVibrantColor(Color.BLUE);// 获取图片中最活跃的颜色(也可以说整个图片出现最多的颜色)(可传默认值)palette.getVibrantColor(Color.BLUE);// 获取图片中一个最柔和的颜色(可传默认值)palette.getMutedColor(Color.BLUE);
// ... 这里省略其他的方法。
开始使用
这里我们读取主色调, 什么明亮,柔和的怎么都不是想要的, 所以我这里就取像素点最多的那个色值,
/*** 获取图片主色调** @param bitmap* @return*/public static void getBitmapColor(final Bitmap bitmap, final onBitmapGetColorListener listener) {Palette.from(bitmap).maximumColorCount(10).generate(new Palette.PaletteAsyncListener() {@Overridepublic void onGenerated(@NonNull Palette palette) {List<Palette.Swatch> list = palette.getSwatches();int colorSize = 0;Palette.Swatch maxSwatch = null;for (int i = 0; i < list.size(); i++) {Palette.Swatch swatch = list.get(i);if (swatch != null) {int population = swatch.getPopulation();if (colorSize < population) {colorSize = population;maxSwatch = swatch;}}}if (maxSwatch != null)listener.getColor(maxSwatch.getRgb());}});}
那么到此颜色值获取了,直接设置背景就好了.
其他
Palatte还可以和ViewGroup和Fragment搭配使用, 也是非常美观的, 盗个图片
更多精彩文章, 请前往>>http://blog.huiger.top
银行卡列表之背景颜色自动识别相关推荐
- pycharm2017.2.1中的修改工程文见列表的名字的字体大小以及文件列表的背景颜色
首先在setting中找到Color Scheme 然后看到主题后,如图中选择Duplicate,这样才可以编辑其他地方的字体大小,否则没法编辑 下面开始编辑 修改左侧文件列表的背景颜色 settin ...
- LabVIEW多列列表框背景颜色操作
多列列表框 概述 在很多情况下我们需要在表格中某一列查找一些指定的元素,并且想让其显示为指定的颜色,此时就可以利用多列列表框的一些属性来解决这一问题. 知识点讲解 1. 在多列列表框中显示数据 1) ...
- Vue写银行卡根据不同的银行卡名称显示不同的背景颜色和图标
1.根据银行卡名称改变背景颜色: (1).步骤一: (2).步骤二:注意:在data里面写下面的obj (3).步骤三:自己根据需要设置CSS样式 2.根据银行卡名称改变对应图标: (1).步骤一: ...
- 设置ListCtrl列表控件其中某一行的字体和背景颜色
设置ListCtrl列表控件其中某一行的字体和背景颜色,可以最终达到如下效果: 操作步骤如下所示: 1.先添加一个自定义消息 ON_NOTIFY ( NM_CUSTOMDRAW,IDC_V_H264_ ...
- css的背景颜色有哪些,css背景颜色、背景图片,以及列表的多种样式
背景样式 • background-color 设置元素的背景颜色. • background-image 把图像设置为背景. • background-position 设置背景图像的起始位置. • ...
- Vue卡列表中不同卡片显示不同背景颜色
Vue卡列表中不同卡片显示不同背景颜色 最近做一个项目的移动端页面,需要完成一个卡列表,不同银行显示不同颜色的问题,一开始考虑过通过识别银行图标色调生成,但最后为了考虑开发成本,只做几种通用的色调. ...
- html表格背景图片格式,css背景颜色、背景图片,以及列表的多种样式
背景样式 • background-color 设置元素的背景颜色. • background-image 把图像设置为背景. • background-position 设置背景图像的起始位置. • ...
- VC/MFC如何设置对话框背景颜色
方法一:调用CWinApp类的成员函数SetDialogBkColor来实现. (这个函数已经废弃) ? 1 void SetDialogBkColor(COLORREF clrCtlBk = RG ...
- div没有设置高度,背景颜色却无法显示
在设计网页时,设置了div为自动高度或不给height值,当div设置背景时在IE6可以显示背景颜色,但是IE7,8却不显示. 解决办法如下: 1.把 height:auto; 改成 height:1 ...
最新文章
- java 初始化一个实体对象_Java 对象初始化
- Java多线程中的死锁问题
- java实现接收字符串对象并在后台代码中转成list对象
- 怎么使用config?
- 贪婪算法在求解最小生成树中的应用(JAVA)--Kruskal算法
- 使用Css隐藏超出容器宽度的文字,溢出部分用“...”表示
- python pytz下载_使用 pytz 处理 Python 中的时区问题
- 关系数据库规范化理论
- MCU学习——无线遥控模块
- android 获取控件在屏幕中位置
- python将图片表情包转化成字符
- PHP,$this-{$xxx} 是什么意思?
- Qt5对Excel表格简单、高效处理方法
- limbo运行veket linux,Veket——『350M』的操作系统,五脏俱全全到可怕!
- Brave浏览器 1.0正式面世, 为用户提供无与伦比的隐私保护和奖励
- layout_constraintWidth_percent in java
- 第十三届蓝桥杯B组python(试题A:排列字母)
- 徐小湛概率论与数理统计课件_概率论与数理统计-徐小湛-视频教程70讲
- 数据通信基础 - 信道特性(奈奎斯特定理、香农定理 )
- 渲染和不渲染的区别是什么?