写点什么

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

作者:轻口味
  • 2025-03-07
    北京
  • 本文字数:1184 字

    阅读完需:约 4 分钟

【每日学点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@Componentstruct  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 组件。


</br>


![[Config/Templates/公众号介绍|公众号介绍]]![[公众号卡片]]![[公众号欢迎词]]

发布于: 刚刚阅读数: 3
用户头像

轻口味

关注

🏆2021年InfoQ写作平台-签约作者 🏆 2017-10-17 加入

Android、音视频、AI相关领域从业者。 欢迎加我微信wodekouwei拉您进InfoQ音视频沟通群 邮箱:qingkouwei@gmail.com

评论

发布
暂无评论
【每日学点HarmonyOS Next知识】截图组件截取列表、Toggle组件、Web组件请求头、列表选择弹窗、游戏加速_HarmonyOS_轻口味_InfoQ写作社区