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

【每日学点HarmonyOS Next知识】截图组件截取列表、Toggle组件、Web组件请求头、列表选择弹窗、游戏加速

1、HarmonyOS 使用componentSnapshot截图组件如何处理超出屏幕的截图,比如页面中有list和和scroll超出屏幕的部分?

componentSnapshot目前官方不支持截取屏幕之外组件的超长图片,链接如下:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-arkui-componentsnapshot-V5
本模块提供获取组件截图的能力,包括已加载的组件的截图和没有加载的组件的截图。组件截图只能够截取组件大小的区域,如果组件的绘制超出了它的区域,或子组件的绘制超出了父组件的区域,这些在组件区域外绘制的内容不会在截图中呈现。兄弟节点堆叠在组件区域内,截图不会显示兄弟组件。

其他方案:

  1. 在截取屏幕时,可以控制list或scroll滚动的坐标位置进行多次截图,然后将图片进行拼接
  2. 可以将整个view中的ui组件绘制到canvas上,然后截取整个canvas获取图片
2、HarmonyOS Toggle组件在onChange内切换暗黑模式时会回调onChange两次, 且回调开关状态完全相反?

页面内点击Toggle切换按钮, 页面正常切换为暗黑模式, 但是按钮的开关状态不变, 排查发现切换按钮回调了两次, 且两次的开关状态互不相同. 请问这种情况下怎么处理, 保证回调的正确性。

参考demo:

@Entry
@Component
struct  TogglePage2 {
  @State isDarkMode: boolean = false
  build() {
    Column() {
      Toggle({ type: ToggleType.Switch ,isOn:this.isDarkMode})//isOn 属性值在有触发刷新页面的场景中,不要省略
        .onChange((isOn: boolean) => {
          console.log('Toggle.onChange2: isOn', isOn)
          this.isDarkMode = isOn
          getContext(this).getApplicationContext().setColorMode(this.isDarkMode?0:1) //触发二次渲染,渲染不给isOn 熟悉赋值会给默认值false,导致状态不对
        })
    }.width("100%").height("100%").padding(32)
  }
}

Toggle isOn 属性在会触发二次渲染的场景不要省略了,触发二次渲染会读取默认值,如果省略该默认值为false 则会导致toggle 状态不对

3、HarmonyOS Web组件如何附加请求头header?

把 loadurl的方法写在web组件的生命周期里面

Web({ src:"", controller: this.controller })
  .onControllerAttached(()=>{
    this.controller.loadUrl("xxxxxxxxx",header)
  })

}
4、HarmonyOS 列表选择弹窗 (ActionSheet)自定义样式?

ActionSheet没有自定义样式接口,想要自定义样式可以使用customdialog自定义弹窗的方式实现:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-methods-custom-dialog-box-V5

通过CustomDialogController类显示自定义弹窗。使用弹窗组件时,可优先考虑自定义弹窗,便于自定义弹窗的样式与内容。

5、HarmonyOS 支持TBS(X5)内核游戏加载?

可以尝试使用系统原生webview组件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dtcms.com/a/51484.html

相关文章:

  • 【橘子python】在vscode中配置py3
  • 关于2023新版PyCharm的使用
  • Python:函数的各类参数以及函数嵌套
  • Vue.js 监听属性
  • STM32F407IGT的USB功能
  • mysql下载与安装
  • 算法-回溯篇09-子集 II
  • 深度探索:美团开源DeepSeek R1 INT8量化技术的性能革命
  • 【每日论文】o3-mini vs DeepSeek-R1: Which One is Safer?
  • idea中的WebFacet到底是啥?
  • 【练习】【二叉树】力扣热题100 94. 二叉树的中序遍历
  • 前端基础之脚手架
  • windows 利用nvm 管理node.js 2025最新版
  • PyQt5 图形标注工具开发教程(可扩展)
  • SAP(第3周)
  • 【C++教程】ASCII码的基本概念
  • Linux--基本指令4(完结)和权限
  • 里氏替换原则(LSP)理解
  • 996引擎-M2设置笔记
  • 一键生成PPT,AI让工作变得轻松高效
  • Mysql存储引擎
  • DeepSeek写弹球打砖块手机小游戏
  • MySQL 存储引擎详解:InnoDB、MyISAM 与 Memory 对比
  • MySQL零基础教程16—表连接进阶
  • 遗传算法基础讲解
  • 软件测试基础:功能测试知识总结
  • 【消息队列】数据库的数据管理
  • 鸿蒙开发 - 键盘避让
  • HRNet的pt模型转rknn并实现前向推理
  • Javase学习复习D11[接口,多态]