写点什么

【每日学点 HarmonyOS Next 知识】对话框与导航冲突、富文本、字体大小、列表刷新、Scroll 包裹文本

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

    阅读完需:约 5 分钟

【每日学点HarmonyOS Next知识】对话框与导航冲突、富文本、字体大小、列表刷新、Scroll包裹文本

1、HarmonyOS CustomDialogController 与 Navigation 冲突?

应用首次启动时,在闪屏页,使用 CustomDialogController 展示了一个隐私政策弹窗,可以通过点击弹窗中的《用户协议》/《隐私政策》跳转到包含具体政策协议文字的 Web 页。跳转通过 Navigation 实现,当跳转到下级页面时,自定义弹窗依然置于页面之上,而非跟随闪屏页一同显隐,请问如何是自定义弹窗的显隐与当前页面保持一致?


想在 Component 层弹出对话框,可以采用 stack 堆叠的方式控制隐私弹框的显隐。


具体请参考以下代码:


@State privacyShow:boolean = truebuild() {  Navigation(this.appPathStack) {    Column() {      Stack(){        Text('Splash Page')          .fontSize(50)          .fontWeight(FontWeight.Bold)        if(this.privacyShow){          Column(){
}.width('100%').height('100%').backgroundColor(Color.Gray).opacity(0.1) PrivacyDialog({ onPrivacyClick: async () => { this.appPathStack.pushPath({ name: 'privacy', }); }, onAgreementClick: async () => { this.appPathStack.pushPath({ name: 'privacy', }); }, onAgree: () => { this.privacyShow = false }, onRefuse: () => { this.exitApp(); } }) }else {
} }
} .width('100%') } .hideTitleBar(true) .navDestination(this.appRouter) .mode(NavigationMode.Stack)}
复制代码

2、HarmonyOS Html 文本标签解析器?

RictText 富文本组件,解析并显示 HTML 格式文本:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-richtext-V5RichEditor组件支持图文混排和文本交互式编辑的组件:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-richeditor-V5

3、HarmonyOS 应用内字体大小怎么设置?

应用内字体大小怎么设置?


  1. 应用内组件的字体大小设置可参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-attributes-text-style-V5

  2. 像素单位之间的转换可参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-pixel-units-V5#像素单位转换

  3. 想适配多端就使用 fp 单位,但是受系统字体大小的影响没法避免,使用 px 单位可以避免

4、HarmonyOS 如果我所有数据一次性替换重新 reload,HarmonyOS 的列表是不是实际只是做差异化替换,毕竟有用 id 判断是否同一个?

假如可视区域的 1234567,变成了 1395867,是否只触发里其中 关于 2345 -> 3958 的部分


显示区域内的,看 ID 是否变化,ID 不变的不会更新,ID 变了的会重建

5、HarmonyOS Scroll 包裹的控件默认居中问题?

文本默认在 scroll 控件的中间,有什么办法能让 Text 控件居于 scroll 控件的 Top 位置吗?


build() {  Scroll() {    Text('热 情 · 礼 貌 · 敬 业')      .fontSize($r('app.float.size_14'))      .fontColor($r('app.color.color_C9C9C9'))      .margin({        top: $r('app.float.size_4')      })  }.width('100%').height('100%')}
复制代码


将 align 设置为 Alignment.Top,如:


build() {  Scroll() {    Text('热 情 · 礼 貌 · 敬 业')      .fontSize('14fp')      .fontColor(Color.Red)      .margin({        top: '4vp'      })  }  .width('100%')  .height('100%')  .align(Alignment.Top)}
复制代码


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

轻口味

关注

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

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

评论

发布
暂无评论
【每日学点HarmonyOS Next知识】对话框与导航冲突、富文本、字体大小、列表刷新、Scroll包裹文本_HarmonyOS_轻口味_InfoQ写作社区