
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
现在的设计是main activity创建时启动了asr的语音服务VoiceRecognitionService和辅助服务AccessibilityVoiceCtrlService,前者会监控语音输入,转换为热词,后者会监控界面,实时获取所有view节点的文本。一般用法是客户端给服务端发消息,而这里需要AIDL服务端VoiceRecognitionService主动给客户端Accessibilit

还有打开页面数据加载函数onPageShow里设置默认的focus,也调用了focusControl.requestFocus,看起来也没生效。关于这一点,是否存在鼠标和键盘切换,要求焦点无缝衔接的场景,甲方的工程师认为没有,只要单独的鼠标或者单独的键盘操作焦点,是连续的就行。总结就是:第二次键盘操作触发的焦点组件是前一次键盘操作的焦点组件,而不是鼠标悬停的焦点组件。再返回使用tab键切换回键盘控
测试板rk3588,arkui-x API Version 12。

arkui-x框架,API Version 12。
这里父组件是一个页面,调用NewSon组件时,传入了this.childRef作为controller。封装的自定义组件NewSon,定义class NewSonController的接口定义,NewSon组件初始化时给refreshData函数接口赋值。这个写法有点像AIDL。而自定义组件不支持onPageShow()接口,只有aboutToAppear()接口,用于组件初始化数据。鸿蒙开发中,
华为鸿蒙系统采用的是arkts,支持跨平台crossplatform即前端为arkts,arkui-x框架,后端为其他的语言框架。本篇示例后端采用的是java,android studio工程。主要方式是前端鸿蒙完成界面元素、布局等效果,后面android java提供一些系统数据获取接口、以及多媒体方面的操作接口。这里重点讲一下开发环境、工程构建与发布方法。

1、避免设置position等绝对布局组件,通过嵌套的Column和Row组件,以及更多的嵌套叠加,结合padding的效果,统一设置容器四个方向的内边距,可灵活调整组件位置,实现相对布局;3、支持多分辨率,this.getActualHeigh、this.getActualWidth可自动获取不同分辨率下对应的屏幕尺寸,实现自适应布局。2、线性渐变色linearGradient,可在背景图片基础

如果要通过长按触发弹窗,这个重复就不需要了。如果重复多次触发弹窗,可能会出现无法预期的结果。这样的效果就是,长按元素到一定时间就会触发,即使一直按着不放也会触发,符合以往的用户习惯。只需要把repeat改为false就可以了。这是使用长按的repeat能力进行计数。

customdialog挂死问题

测试发现,删除触发弹窗的原始元素,主页面处于失去焦点状态,会自动找一个前面的元素设置焦点,这个元素的选择感觉是随机的。则会同时出现两个元素有焦点。系统的默认行为也无法取消,可能是删除数据,通过@State引发@Builder重新渲染,渲染过程中,系统自动选择了一个历史元素,设置了焦点。解决方法,不使用onFocus、onBlur,改为使用onHover,即鼠标悬停状态下,自动设置focus标识,上








