使用如下demo,设置一个正常的输入内容的normalStyle文本颜色,一个按钮设置另外一个atUserStyle颜色添加内容。 当点击按钮插入文本内容后,软键盘输入文本内容,在切换深色模式时,软键盘输入的文本内容不会跟随深浅色模式变化:
@Entry
@Component
struct Index {
@State message: string = 'Hello World';
richEditorController: RichEditorController = new RichEditorController()
normalStyle: RichEditorTextStyle = {
fontColor: $r('sys.color.font_primary'),
fontSize: $r('sys.float.Body_L')
}
atUserStyle: RichEditorTextStyle = {
fontColor: $r('sys.color.font_emphasize'),
fontSize: $r('sys.float.Body_L')
}
build() {
Column() {
RichEditor({controller: this.richEditorController})
.onReady(() => {
this.richEditorController.setTypingStyle(this.normalStyle)
})
.width('80%')
.height('50%')
.border({
width: 1,
color: Color.Black
})
.backgroundColor($r('sys.color.ohos_id_color_sub_background'))
Button('@')
.onClick(() => {
this.richEditorController.addTextSpan('@张三', {
style: this.atUserStyle
})
})
}
.alignItems(HorizontalAlign.Center)
.width('100%')
}
}