【每日学点 HarmonyOS Next 知识】swiper 样式、日期选择、自定义弹窗键盘、文本组件换行、富文本适配

1、HarmonyOS swiper 组件样式?
可在样式中设置即可,参考如下 demo
2、HarmonyOS DatePickerDialog. 返回的数据?
DatePickerDialog. 返回的数据
setFullYear 方法默认月份值从 0 开始,单独取出来值时需要加 1
3、HarmonyOS 自定义弹窗、自定义键盘自动关闭问题?
通过 CustomDialogController 弹出一个自定制的弹窗内容。请问,自定义弹窗是否可以实现以下效果:假设弹窗未覆盖区域有很多其他视图,如滚动视图、按钮等,希望这些视图发生点击、长按、滚动时能够自动关闭弹窗,这些视图的事件很零散,在每个事件中都插入关闭弹窗的代码有些不现实。autoCancel 设置为 true 时,能够优先关闭弹窗,但是会拦截一次用户操作,如弹窗弹出时,点击一个按钮,会先关闭弹窗,第二次点击时才能触发按钮点击事件,这种交互不符合期望。期望能够一次点击,既触发按钮事件,也能够关闭弹窗。
首先对于自定义键盘的问题,输入框类的组件在 customKeyboard()方法中在输入控件失去焦点时,关闭自定义键盘,可以通过 stopEditing 方法控制键盘的关闭,以 TextInput 组件为例,可以参考以下文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-textinput-V5#ZH-CN_TOPIC_0000001884917738__customkeyboard10
其次,对于自定义弹窗问题,当前可以使用 onWillDismiss()回调结合业务方自行设计处理逻辑实现关闭弹窗且触发事件,比如:通过监听 CustomDialogController 的 onWillDismiss()回调,在回调中判断 DismissDialogAction 的 reason 属性为 TOUCH_OUTSIDE:
参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-methods-custom-dialog-box-V5在上面监听到点击遮罩层时,先让自定义弹窗消失,然后可以通过事件通知的形式发送事件,在事件订阅处处理接收到的事件,可以根据不同的事件 ID 或者是传递的不同的 data 来区分不同组件需要处理的事件逻辑,不同组件的事件逻辑通过定义不同的方法处理:
参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-emitter-V5
4、HarmonyOS Text 组件的 wordBreak 换行破发点咨询?
Text 组件的 wordBreak 换行破发点除了空格还有什么?部分场景的换行破发点可能在”,“或者“,”; 会导致一整段字符串换行的情况。如果用 BreakALL 的话,有些标题断句会有点歧义 比如 12kg 第一行末尾是 1 第二行开头是 2kg,但是 BreakWord 的话,换行破发点好像又只出现在空格处。
建议是用 WordBreak.BREAK_WORD,API 的说明:Non-CJK text can be wrapped at any character and if a complete word can be preserved in space breaks, the word must be kept on the line.说明这里是有一个灵活判断的,不仅仅是针对空格处换行这么简单,可以明确看到换行会对一行的最后一个字符做校验(区分非 CJK 和 CJK 字符),非 CJK 字符会任意打断,同 WordBreak.BREAK_ALL,CJK 字符会保持同一语义的字符在一行,所以明显对于中文和英文混合的场景,WordBreak.BREAK_WORD 更合适一些
5、HarmonyOS ide 中富文本中图片适配?
可以使用 RichEditor 组件,该组件是支持图文混排和文本交互式编辑的组件,文档如下:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-richeditor-V5
版权声明: 本文为 InfoQ 作者【轻口味】的原创文章。
原文链接:【http://xie.infoq.cn/article/b59e463e433ebdf6ed183bfa7】。文章转载请联系作者。
评论