【每日学点 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本模块提供获取组件截图的能力,包括已加载的组件的截图和没有加载的组件的截图。组件截图只能够截取组件大小的区域,如果组件的绘制超出了它的区域,或子组件的绘制超出了父组件的区域,这些在组件区域外绘制的内容不会在截图中呈现。兄弟节点堆叠在组件区域内,截图不会显示兄弟组件。
其他方案:
在截取屏幕时,可以控制 list 或 scroll 滚动的坐标位置进行多次截图,然后将图片进行拼接
可以将整个 view 中的 ui 组件绘制到 canvas 上,然后截取整个 canvas 获取图片
2、HarmonyOS Toggle 组件在 onChange 内切换暗黑模式时会回调 onChange 两次, 且回调开关状态完全相反?
页面内点击 Toggle 切换按钮, 页面正常切换为暗黑模式, 但是按钮的开关状态不变, 排查发现切换按钮回调了两次, 且两次的开关状态互不相同. 请问这种情况下怎么处理, 保证回调的正确性。
参考 demo:
Toggle isOn 属性在会触发二次渲染的场景不要省略了,触发二次渲染会读取默认值,如果省略该默认值为 false 则会导致 toggle 状态不对
3、HarmonyOS Web 组件如何附加请求头 header?
把 loadurl 的方法写在 web 组件的生命周期里面
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/公众号介绍|公众号介绍]]![[公众号卡片]]![[公众号欢迎词]]
版权声明: 本文为 InfoQ 作者【轻口味】的原创文章。
原文链接:【http://xie.infoq.cn/article/77436affcba2c209e462705ff】。文章转载请联系作者。
评论