autojs色卡

简介: 牙叔教程 简单易

牙叔教程 简单易

脚本功能

  • 显示色卡
  • 拾色器

主界面

拾色器

主界面代码

ui.layout(
  <vertical fitsSystemWindows="true" id="parentView">
    <toolbar id="toolbar" gravity="center" title="">
      ...
    </toolbar>
    <horizontal margin="30" h="*">
      <androidx.recyclerview.widget.RecyclerView
        id="recyclerView"
        layout_weight="1"
      ></androidx.recyclerview.widget.RecyclerView>
      <vertical h="*" padding="6">
        <img id="colorPickup" layout_weight="1" src="@drawable/ic_colorize_black_48dp"></img>
        <button id="colorMatching" layout_weight="1" w="50dp" marginTop="30" textSize="20sp" text="配色"></button>
      </vertical>
    </horizontal>
  </vertical>
);


色卡使用的是

使用到的RecyclerView知识点:

  • 设置布局管理器
  • 设置Adapter
  • 屏幕内可见的子控件的数量
  • 所有子控件总数(不管可见不可见)
  • 第一个可见的子控件序号
  • 最后一个可见的子控件序号
  • 获取指定序号的控件

使用到的RecyclerView中遇到的问题

  1. 色卡向上滑动的时候, 底部刚才不可见的色卡没有绘制出来

这是因为绘制色卡的时候, 使用到了itemview的高度, 由于不可见, 所以高度为0, 那么绘制颜色的时候就绘制了个0高度的颜色.

  1. 手指触摸某个颜色, 该颜色标记为选中态-画一个白色圆圈, 设计的时候, 理论应该只显示一个选中的颜色, 可是有时候显示了多个白色圆圈

这是因为没有及时清除, 上一个触摸的颜色的白色圆圈,

说的简单, 排查问题的时候, 还是很花时间的, 再三查看自己的代码觉得哪里都没有问题, 可是运行起来, 就是有问题;

然后就一直打日志, 猜测哪里有问题, 大概知道哪里不对, 但是具体哪里不对, 猜不出来;

不停的打日志, 排除这里的问题, 排除那里的问题, 最终排查出来 少写一个 else,

当更新颜色选中状态的时候, 只更新了可见控件的状态, 不可见的颜色状态数据未做更改

右下角按钮颜色, 与选中颜色保持一致

色卡布局

let itemLayout = <View w="*" h="50dp"></View>;


绘制色卡

  1. view分为6个区间
  2. 不同区间亮度依次递减
  3. 使用的颜色模型 HSL
  4. 绘制色卡左侧序号
  5. 如果颜色选中, 绘制白色圆圈

打开拾色器

开关拾色器镜头

拾色器拾取颜色

拾色步骤

  1. 打开十字架中间的镜头
  2. 申请悬浮窗权限, 截图
  3. 悬浮窗绘制刚才的截图
  4. 移动十字架获取颜色
  5. 粘贴颜色数据, 至剪贴板

十字架中间的镜头作用

  • 镜头默认灰色, 处于关闭状态
  • 镜头打开: 截图, 并在悬浮窗绘制截图, 十字架中间镂空透明
  • 镜头关闭: 隐藏悬浮窗

悬浮窗的层级

越早创建的悬浮窗, 位于底层,

最后创建的悬浮窗, 位于所有悬浮窗顶层

测试环境

手机: Mi 11 Pro
Android版本: 12
Autojs版本: 9.1.14


名人名言

思路是最重要的, 其他的百度, bing, stackoverflow, github, 安卓文档, autojs文档, 最后才是群里问问 --- 牙叔教程

声明

部分内容来自网络 本教程仅用于学习, 禁止用于其他用途


相关文章
|
5月前
|
API
AutoJs4.1.0开发心得
AutoJs4.1.0开发心得
81 0
|
5月前
AutoJs4.1.0 部局范围次分析
AutoJs4.1.0 部局范围次分析
66 0
|
XML Android开发 数据格式
autojs一键锁屏
牙叔教程 简单易懂
496 0
|
人工智能 前端开发 Java
autojs非常见函数1
牙叔教程 简单易懂
1879 0
|
Java Android开发
autojs非常见函数2
autojs非常见函数2
1052 0
|
Android开发
autojs最近任务多界面
牙叔教程 简单易懂
677 0
|
5月前
|
缓存 Python
最后一次AutoJs超神级代码分享
最后一次AutoJs超神级代码分享
107 0
|
Android开发
autojs提词器
拍短视频 ● 忘词 ● 记不住台词 有了提词器, 就再也不怕忘词儿了
319 0
|
安全 JavaScript 网络安全
autojs起手式
牙叔教程 简单易懂
306 0
|
文字识别 安全 Android开发
autojs联众识图
牙叔教程 简单易懂
228 0