1、HarmonyOS CustomDialogController与Navigation冲突?
应用首次启动时,在闪屏页,使用CustomDialogController展示了一个隐私政策弹窗,可以通过点击弹窗中的《用户协议》/《隐私政策》跳转到包含具体政策协议文字的Web页。跳转通过Navigation实现,当跳转到下级页面时,自定义弹窗依然置于页面之上,而非跟随闪屏页一同显隐,请问如何是自定义弹窗的显隐与当前页面保持一致?
想在Component层弹出对话框,可以采用stack堆叠的方式控制隐私弹框的显隐。
具体请参考以下代码:
@State privacyShow:boolean = true
build() {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-V5
RichEditor组件支持图文混排和文本交互式编辑的组件:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-richeditor-V5
3、HarmonyOS 应用内字体大小怎么设置?
应用内字体大小怎么设置?
- 应用内组件的字体大小设置可参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-attributes-text-style-V5
- 像素单位之间的转换可参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-pixel-units-V5#像素单位转换
- 想适配多端就使用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)
}