当前位置: 首页 > news >正文

在compose中的Canvas用kotlin显示多数据波形闪烁的问题

在compose中的Canvas显示多数据波形闪烁的问题:当在Canvas多组记录波形数组时,从第一组开始记录多次显示,如图,当再次回到第一次记录位置再显示时,波形出现闪烁。

原码如下:

data class DcWaveForm(var bDat: Boolean,var isOpenEar:Boolean,var count:Int,val dat: IntArray = IntArray(20) ,  //220var lPoints: Array<Offset> = List(140){Offset(0f,0f)}.toTypedArray(),var rPoints: Array<Offset> = List(140){Offset(0f,0f)}.toTypedArray()
) 

class MyViewModel : ViewModel() {var mWaveForm: Array<DcWaveForm> by mutableStateOf(Array(11) {DcWaveForm(bDat = false,isOpenEar = false,count = 0,dat = IntArray(20) { 0 },lPoints = List(140){Offset(0f,0f)}.toTypedArray(),rPoints = List(140){Offset(0f,0f)}.toTypedArray())})var mStartCount by mutableStateOf(0)private set// 安全访问方法fun getWaveFormData(index: Int): DcWaveForm? {return mWaveForm.getOrNull(index)}// 批量更新方法fun updateWaveArray(index: Int, block: DcWaveForm.() -> Unit) {mWaveForm = mWaveForm.apply {getOrNull(index)?.let { data ->this[index] = data.apply(block)}}}fun updateStartCount(count:Int){mStartCount = count}}val viewModel = MyViewModel()

pointsLeft和pointsRight前面已经定义过,以为一直用就可以了,其它不然。直接用会出现闪烁,要重新定义则正常,如下:

http://www.dtcms.com/a/230250.html

相关文章:

  • 国产化Word处理控件Spire.Doc教程:Java实现HTML 转Word自动化
  • c#开发AI模型对话
  • Axios 取消请求的演进:CancelToken vs. AbortController
  • AWS中国区IAM相关凭证自行管理策略(只读CodeCommit版)
  • bug:undefined is not iterable (cannot read property Symbol(Symbol.iterator))
  • AI炼丹日志-28 - Audiblez 将你的电子书epub转换为音频mp3 做有声书
  • CATIA-CAD 拆图
  • 【从零学习JVM|第二篇】字节码文件
  • Kubernetes 网络方案:Flannel 插件全解析
  • MyBatis-Plus LambdaQuery 高级用法:JSON 路径查询与条件拼接的全场景解析
  • 判断:有那种使用了局部变量的递归过程在转换成非递归过程时才必须使用栈
  • 【从前端到后端导入excel文件实现批量导入-笔记模仿芋道源码的《系统管理-用户管理-导入-批量导入》】
  • 信号与系统汇总
  • OpenCV计算机视觉实战(10)——形态学操作详解
  • 【WPF】WPF 项目实战:构建一个可增删、排序的光源类型管理界面(含源码)
  • 2025 5 月 学习笔记
  • 705SJBH超市库存管理系统文献综述
  • 目标检测任务的评估指标P-R曲线
  • 企业私有化部署DeepSeek实战指南:从硬件选型到安全运维——基于国产大模型的安全可控落地实践
  • 图像处理、图像分析和图像理解的定义、联系与区别
  • OpenCV CUDA模块图像处理------创建CUDA加速的Canny边缘检测器对象createCannyEdgeDetector()
  • Github 2025-06-04 C开源项目日报 Top7
  • 如何轻松地将文件从 PC 传输到 iPhone?
  • https和http有什么区别-http各个版本有什么区别
  • excel从不同的excel表匹配数据
  • 使用pgAdmin导入sql文件
  • Python 隐藏法宝:双下划线 _ _Dunder_ _
  • 【2025】使用docker compose一键部署项目到服务器(4)
  • 多分辨率 LCD 的 GUI 架构设计与实现
  • python版若依框架开发:python版若依部署