前两天需要开发一个蓝牙通信控制灯的颜色的项目,上网找了一个关于颜色选择器制作的帖子。

众所周知,android的控件只完成了基本的功能,对于像颜色选择的功能则需要自定义控件的使用。

网上的帖子主要都是自定义色环的使用,代码相对来说较为复杂,不利于初学者的掌握,因此,我就想是否可以通过android自带的seekbar控件完成一个颜色选择器的制作。

首先,普通的seekbar无法通过滑块来识别所选择的颜色,因此需要更换其背景图片(注意是process背景,网上有很多此类教程)。完成图如下所示:

那么如何通过滑块的位置来读出所选择的颜色(RGB)呢?

一个较为直观的方法是,通过bitmap的getpixel()方法以滑块所在位置的颜色值作为所选择的颜色。这样便需要将整幅屏幕截图,转换成bitmap对象,在将滑块的porcess转换成坐标。但是,我在这样做之后滑动滑块得到的颜色值是不变的,根据分析,是由于我的整个activity的layout背景是单色调的,读出的颜色是背景的颜色。

上面的方法走不通,那换第二种办法。

还是利用getpixel()方法(android有没有其他读取颜色的方法,还希望各路大神给予指导),将seekbar的view对象转换成bitmap对象,根据滑块的相对坐标来读取颜色,这样,果然读出了相应的ARGB的值,但是由于这样需要每次都将View对象转换为Bitmap对象,对于资源的消耗是巨大的(我在试的时候,连滑块滑动都有些卡顿了)。。。果不其然,一会就死机了。

那可不可以仅转换一次呢,最简单的办法自然就是吧背景色条转换成bitmap对象,载根据相对坐标值来获取颜色。

这种办法对资源的消耗果然很少!!!

· 最后。。。。好了。。。。

· 注意,读出的坐标值会是一个负的int值,这是由于java对数据补码的存储决定的,只要将之转换成十六进制就可以了。

android简单的颜色选择器制作相关推荐

  1. Android 自定义View颜色选择器( 条形、水平),使用HSV颜色模型实现取色器并反向定位颜色所在位置

    轻松实现一个简单的Android条形水平颜色选择器,可以通过设置颜色值反向定位滑块 Demo地址:https://github.com/DonTiny/ColorPickDemo 效果图: 先贴完整代 ...

  2. js颜色选择器 制作分析

    给html元素设置事件监听, 触发事件 弹出颜色选择器 颜色选择器绘制 获取上次选择的颜色(当前颜色) 绘制渐变色板(canvas) (方法: 横轴渐变ff0000, ffff00, 00ff00, ...

  3. 从头学Qt Quick(3)-- 用QML写一个简单的颜色选择器

    先看一下效果图: 实现功能:点击不同的色块可以改变文字的颜色. 实现步骤: 一.创建一个默认的Qt Quick工程: 二.添加文件Cell.qml 这一步主要是为了实现一个自定义的组件,这个组件就是我 ...

  4. android类中定义颜色,自定义实现简单的Android颜色选择器(附带源码)

    在写Android App过程中需要一个简单的颜色选择器,Android自带的ColorPicker和网上的一些ColorPicker都太高端了,都实现了颜色渐变功能,我要的不需要那么复杂,只想提供几 ...

  5. Android上一种用于选择颜色的控件(颜色选择器)

    目录 引言 核心代码 控件整体代码 demo 引言 最近在做一个项目时其中有一个需求–自定义灯光颜色.要求通过手机端控制灯光颜色,手机端预设五种颜色及用户可自定义颜色.在百度上搜索找到一个开源的色环控 ...

  6. vue颜色选择器_如何制作? Vue的颜色选择器!

    vue颜色选择器 by ZAYDEK 由ZAYDEK 如何制作? Vue的颜色选择器! (How to make a ? color picker with Vue!) 注意:颜色看起来可能比实际颜色 ...

  7. php和android选择器,Android_android 字体颜色选择器(ColorPicker)介绍,primary_text_yellow.xml 复制代码 代 - phpStudy...

    android 字体颜色选择器(ColorPicker)介绍 primary_text_yellow.xml themes.xml @color/primary_text_yellow相关阅读: 在L ...

  8. android 字体颜色选择,Android中颜色选择器和改变字体颜色的实例教程

    易采站长站为您分析Android中颜色选择器和改变字体颜色的实例教程,其中改变字体颜色用到了ColorPicker颜色选择器,需要的朋友可以参考下 1.构建一张七彩图: 我们经常看到这种样子的颜色选择 ...

  9. Android之 颜色选择器

    一,简介 1.1 计算机的颜色通常有两种表示方式: 光源模式RGB(Red=红, Green=绿, Blue=蓝),数值0-255 印刷模式CMYK(Cyan=青, Magenta=品红, Yello ...

最新文章

  1. java 日志脱敏框架 sensitive,优雅的打印脱敏日志
  2. 宝塔 php curl 配置,【笔记】宝塔面板配置laravel
  3. 自动布局报错(两条连线冲突):Unable to simultaneously satisfy constraints
  4. SAP Hybris backoffice加载的zul文件和zk文件是什么东西
  5. P3327-[SDOI2015]约数个数和【莫比乌斯反演】
  6. 获得百度智能云access token
  7. 玩转 SpringBoot 2 快速整合拦截器
  8. 2019 Power BI最Top50面试题,助你面试脱颖而出系列中
  9. Ubuntu 16.04出现chmod: 无效模式:a的问题解决
  10. jquery.alerts.js模拟js的alert,confirm的插件
  11. Go语言【第五篇】:Go条件语句
  12. DVWA-Writeup
  13. M1 M2 是什么意思?M1 M2的增速说明什么问题?
  14. 搜索结果Refinement 行为总结之 multi-selection refinement
  15. Android ALSA音频系统架构分析(1)----从Loopback了解Audio
  16. 白鲸优化(BWO)算法(含MATLAB代码)
  17. Python实现各种加密,接口加解密不说难
  18. jar启动指定JDK/JRE 安装路径教程
  19. 【人工智能AI】禅与计算机程序设计艺术:文心一言 vs ChatGPT对比:文心一言当然不仅仅只是“问答对话”那么简单,背后是 “人工智能的全栈技术体系”!
  20. 使用STM32CubeMX新建小熊派的STM32L431RCT6工程实现LED灯闪烁

热门文章

  1. 2022年最实用的DevOps工具
  2. 系统学习Pytorch笔记三:Pytorch数据读取机制(DataLoader)与图像预处理模块(transforms)
  3. 好强型性格分析,如何改变好强型性格?
  4. 不要虚荣心太强,要踏实肯干
  5. 追觅三大无线吸尘器对比,看哪款适合你?
  6. 有了Service Mesh,还需要API网关么?
  7. PHP phpoffice/phpspreadsheet导出excel
  8. 动物声音模拟器, 模仿许多动物的叫声
  9. IBM Websphere MQ 基础0:Linux下安装IBM MQ 7.5
  10. 利用腾讯云函数实现自动化签到