写点什么

【每日学点 HarmonyOS Next 知识】JSBridge 通信、输入框提示文字大小、读书翻页效果、Web 回调函数、翻页自动轮播

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

    阅读完需:约 4 分钟

【每日学点HarmonyOS Next知识】JSBridge通信、输入框提示文字大小、读书翻页效果、Web回调函数、翻页自动轮播

1、HarmonyOS 使用 JSBridge 进行 H5 与 app 通信数据异常?

使用 JSBridge 进行 H5 与 app 通信时,当 H5 传输的数据复杂且过大,在 ArkTS 中的控制台无法观测到对应的数据,具体的属性也获取不到


目前编译器对于大量字符会做截断显示,但是可以采用如下方式实现方案一:如果是 json 格式的大型字符串,那可以将数据转成 json 对象再打印


let largeJsonString = '{"key1": "value1", "key2": "value2"}'; // 大型JSON格式的字符串try {  console.log(JSON.stringify(JSON.parse(largeJsonString), null, 2)) // 此时会按照JSON格式美化打印} catch (error) {  console.error('Error parsing JSON:', error);}
复制代码


方案二:如果只是普通字符串,那可以分段打印


const largeString = ... // 非常大的字符串const chunkSize = 1000; // 分块大小for (let i = 0; i < largeString.length; i += chunkSize) {  console.log(largeString.slice(i, i + chunkSize));}
复制代码

2、HarmonyOS TextInput 如何修改 placeholder 提示文字的大小?

TextInput({placeholder:"搜索企业名称"})  .fontSize(20)  .height(30)  .borderRadius(16)  .placeholderFont({ size: 10, weight: 400 })

TextInput({placeholder:"搜索企业名称"}) .fontSize(20) .height(30) .borderRadius(16) .placeholderFont({ size: 10, weight: 400 })
复制代码

3、HarmonyOS 有没有控件可以实现这种读书翻页的效果?

有没有控件可以实现这种读书翻页的效果


RecyclerViewPager 是一个支持自定义左右翻页切换效果、上下翻页切换效果、类似 Material 风格的容器组件。


参考文档:https://gitee.com/openharmony-sig/RecyclerViewPager

4、HarmonyOS 有没有 webViewController 和 Web 组件解绑的回调函数或者获取 webViewController 绑定状态的方法?

当前暂无回调或者其他方式能获取到 webViewController 绑定状态,一般是建议把 controller 的方法放在 web 组件的生命周期中使用,而不是放在页面的生命周期中使用

5、HarmonyOS swiper 组件自动轮播配置两个图片闪烁问题?

swiper 组件自动轮播配置两个图片时,第二个图片每次都会先闪烁一下上一张图后再加载轮播


其中使用了 nextMargin 参数


Swiper(){  ForEach(this.iconList,(item:CCIcon)=>{    Row(){      Image(item.imgUrl)        .objectFit(ImageFit.Cover)        .border({radius:8})        .width('100%')        .aspectRatio(2.16)    }    .width(‘100%‘)    .margin({bottom:22})  })}.padding({  left:$r("app.float.tab_container_padding_side")}).width('100%').autoPlay(true).duration(300).nextMargin(56).itemSpace(8).displayMode(SwiperDisplayMode.STRETCH).displayCount(1).loop(true)
复制代码


建议使用 lazyforeach


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

轻口味

关注

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

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

评论

发布
暂无评论
【每日学点HarmonyOS Next知识】JSBridge通信、输入框提示文字大小、读书翻页效果、Web回调函数、翻页自动轮播_HarmonyOS_轻口味_InfoQ写作社区