当前位置:网站首页>Openharmony - 基于ArkUI(TS)开发颜色选择器
Openharmony - 基于ArkUI(TS)开发颜色选择器
2022-08-02 17:50:00 【51CTO】
作者:梁青松
项目介绍
本项目基于 OpenHarmony的ArkUI框架:TS扩展的声明式开发范式,关于语法和概念直接看官网官方文档地址: 基于TS扩展的声明式开发范式,因为OpenHarmony的API相对于HarmonyOS的API,功能上比较完善和成熟的,有些新的技术也早早接触到,所以本项目直接使用OpenHarmony SDK开发。
工具版本: DevEco Studio 3.0 Beta4
SDK版本: 3.1.6.6(API Version 8 Release)
项目功能: 常见的颜色选择器,使用颜色条滑动选择主色调,更改颜色面板的颜色,并触摸选择颜色。
效果演示
主要API
画布组件canvas:画布组件,用于自定义绘制图形。
方法/属性 | 解释 |
---|---|
createLinearGradient() | 创建一个线性渐变色 |
addColorStop() | 设置渐变颜色和比例 |
getImageData() | 获取坐标点像素的颜色值 |
fillRect() | 填充一个矩形 |
clearRect() | 清空画布 |
fillStyle | 属性:指定绘制的填充色 |
实现思路
1. 绘制颜色条
使用createLinearGradient()方法创建一个从上至下的线性渐变色。
代码片段
2. 绘制颜色条指示器
使用 Path绘制组件 :绘制两个相对的三角形,作为颜色条指示器。
代码片段
3. 颜色条滑动选择颜色
设置颜色条的触摸事件,根据坐标点,调用getImageData()方法获取触摸坐标点像素的颜色值。并更新颜色条指示器的Y轴位置。
代码片段
4. 绘制颜色面板
使用fillRect()绘制背景矩形,在其之上绘制:从左至右,白色–>透明渐变色,最后绘制:从下至上,黑色–>透明渐变色。
5. 绘制颜色面板指示器
这个很简单,就是组件设置边框和圆角,圆角半径为宽高一半为圆形,大圆套小圆
6. 颜色面板触摸选择颜色
设置颜色条的触摸事件,根据坐标点,调用getImageData()方法获取触摸坐标点像素的颜色值。并更新颜色面板指示器的的XY位置。(代码片段)
7. 外部调用
界面加载成功后,ColorPickerView组件提供一个方法回调。直接在回调中获取颜色变化。来更新数据。
总结
本项目没有什么特别难的点,主要还是熟悉API,多看官方文档,多看一些优秀的项目,只有把原理掌握到自己手上才是王道。
每天进步一点点、需要付出努力亿点点。
项目地址: ArkUI(TS)声明式开发:颜色选择器
更多原创内容请关注: 中软国际 HarmonyOS 技术团队
入门到精通、技巧到案例,系统化分享HarmonyOS开发技术,欢迎投稿和订阅,让我们一起携手前行共建鸿蒙生态。
边栏推荐
猜你喜欢
随机推荐
0725-面试记录
Flink学习9:配置idea开发flink-Scala程序环境
IDEA相关配置(特别完整)看完此篇就将所有的IDEA的相关配置都配置好了、设置鼠标滚轮修改字体大小、设置鼠标悬浮提示、设置主题、设置窗体及菜单的字体及字体大小、设置编辑区主题、通过插件更换主题
redis总结_多级缓存
红队实战靶场ATT&CK(一)
How a "cloud" can bring about new changes in the industry
2021年下半年软件设计师上午真题
cpolar应用实例之多设备数据采集
白话电子签章原理及风险
golang刷leetcode动态规划(9)不同路径 II
Dream weaving prompt information prompt box beautification
有关代购系统搭建的那点事
mui中使用多级选择器实现省市区联动
暴跌99.7%后,谁还在买卖「二舅币」?
golang刷leetcode 经典(4) 实现跳表
Open Source Summer | [Cloud Native] DevOps (5): Integrating Harbor
新特性解读 | MySQL 8.0 GIPK 不可见主键
在线文档Sheet技术解析
开源一夏 |【云原生】DevOps(五):集成Harbor
小程序毕设作品之微信体育馆预约小程序毕业设计成品(8)毕业设计论文模板