功能需求

一个页面中顶部显示一张图片(图片从网络加载),此时需要根据图片的颜色来动态调整顶部标题栏的背景色。

技术要求

Android 调色板支持库

实现过程

1、添加调色板支持库

dependencies{

implementation 'androidx.palette:palette:1.0.0'

}

2、创建调色板实例

这里有 2 中方式来创建

/**

* 同步方式

*/

fun createPaletteSync(bitmap: Bitmap): Palette = Palette.from(bitmap).generate()

/**

* 异步方式

*/

fun createPaletteAsync(bitmap: Bitmap) {

Palette.from(bitmap)

.generate { palette ->

//TODO(业务逻辑)

}

}

3、获取颜色

调色板为我们提供了 6 颜色的配置文件,分别为

Light Vibrant

Vibrant

Dark Vibrant

Light Muted

Muted

Dark Muted

我们可以通过 getColor() 来获取,例如 Light Vibrant 为 getLightVibrantColor(defaultColor),方法里要传一个默认的颜色,因为可能为空。

Palette 类还会为每个颜色配置文件生成 Palet

android提取图片颜色代码,Android 中动态提取图片中颜色作为主题色相关推荐

  1. android取图片颜色代码,Android Palette 提取图片的主色调

    博主声明: 转载请在开头附加本文链接及作者信息,并标记为转载.本文由博主 威威喵 原创,请多支持与指教. 本文首发于此 博主:威威喵 | 博客主页:https://blog.csdn.net/smil ...

  2. android 图片变颜色代码,Android -对图片Drawable进行变色

    Android 图片DrawableCompat利用setTint()对图片Drawable进行变色 1.利用color资源对Drawable变色 Drawable对象的来源不限制,可以是从资源get ...

  3. android .9图片在代码中的设置,Android点九图总结以及在聊天气泡中的使用

    编辑推荐: 本文来自于腾讯云,介绍了点九图的本质,聊天气泡中使用点九图,其它问题等. 1. 点九图介绍 这一块是对点九图的简单介绍,如果对这块已经有了解的话,可以直接跳到2,看看聊天气泡中如何使用点九 ...

  4. android surfaceview 图片,为啥从SurfaceView中获取不到图片?

    一.普通View生成图片的原理 我们先来分析下从普通View中获取图片的方法.代码如下: public Bitmap getBitmapFromView(View view){ if (view == ...

  5. android 矢量图片使用方法,Android中的矢量图

    概述 VectorDrawable是通过XML文件中的一系列点,线和曲线及其相关颜色信息定义的. 使用VectorDrawable的主要优点是图像可扩展性. 它可以缩放而不损耗显示质量,这意味着相同的 ...

  6. android html 字体颜色代码,Android TextView通过解析html显示不同颜色和大小

    先贴一张效果图 效果 介绍 通过SpannableString.SpannableStringBuilder可以很方便的给TextView加上各种各样的样式,比如不同的颜色和大小,这里就不多说了,具体 ...

  7. Android微信通讯录界面代码,Android中使用Expandablelistview实现微信通讯录界面

    之前的博文<Android 中使用ExpandableListView 实现分组的实例>我简单介绍了使用ExpandableListView实现简单的好友分组功能,今天我们针对之前的所做的 ...

  8. android 设置 linearlayout 高度,在RelativeLayout中动态设置LinearLayout高度/宽度

    我在RelativeLayout中有一个linearLayout.我需要能够根据屏幕尺寸动态设置线性布局的高度.我有一些困难. 我怎么能做到这一点?在RelativeLayout中动态设置Linear ...

  9. android 按钮修改边框颜色代码,Android CheckBox修改大小、边框颜色,以及自定义CheckBox;...

    CheckBox修改大小: android:scaleX="0.8" android:scaleY="0.8" CheckBox修改边框颜色,注意不是背景色: ...

最新文章

  1. 文本相似度算法(余弦定理)
  2. 二.安全NA之ASA基础
  3. linux cmake 安装mysql5.5.11,以及更高版本
  4. python自动化输入不了中文_appium+python自动化61-中文输入乱码问题解决
  5. 图像水平梯度和竖直梯度代码_Opencv图像处理(三)
  6. 笔记-网页内嵌Google地图与地理位置模拟
  7. 一个测试新人的职业规划——三个月
  8. JAVA内存模型与线程安全
  9. PostgreSQL体系结构和基本操作
  10. scal的函数定义(day01)
  11. 对比几个空地址“订阅”的结果
  12. psftp文件的上传下载
  13. php斗鱼弹幕接口,php实现斗鱼弹幕,一起来欣赏弹幕吧~,斗鱼怎么看自己发过的弹幕...
  14. 使用jquery处理多选框checkbox选中和未选中的值
  15. CentOS 8 部署禅道,并使用自己的数据库
  16. python 判断是英文
  17. win10读不到移动硬盘
  18. 混合动力simulink模型 转卖新能源混动车型模式转换说明,包含HCU模式转换simulink框图及说明文档
  19. git reset三种模式区别和使用场景(hard,soft,mixed)
  20. 机器人鸣人是哪一集_火影:你知道火影里出现了几次机器人吗?只有十年火迷才知道...

热门文章

  1. TEC-2机微程序设计
  2. (转)DVD转换RMVB格式的方法
  3. python 办公自动化 视频教程_python办公自动化:Excel操作入门
  4. 面对家里沉迷手机的学生,家长着急怎么办?
  5. TextView(文本框)详解
  6. 崩坏3渠道服扫码登录桌面版的方法教程
  7. 【汇编综合应用】大小写字母的转换、2号、9号和10号DOS系统功能调用、分支、循环程序结构、子程序、寄存器传递参数,宏定义、宏调用,观察宏展开。
  8. 工行开放平台接口签名详解
  9. 网络编程(计算机网络相关)
  10. 统计学 一 集中趋势