HarmonyOS 如何让RichEditor 聚焦出现光标,但是又不拉起键盘。

需要点击按键打开表情列表,同时让RrichEditir出现光标,但是不能出现光标。

如下所示

需要在 1 中点击表情,然后出现 2 的状态(打开表情列表,richeditor 聚焦)

HarmonyOS 如何让RichEditor 聚焦出现光标,但是又不拉起键盘。-鸿蒙开发者社区

问题:使用`focusControl.requestFocus('ContentViewV2');` richeditor 聚焦时,总是会唤起键盘。

HarmonyOS
2025-01-09 14:20:16
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
FengTianYa

当前RichEditor不支持只让组件焦点保留,而不拉起键盘,可以通过设置自定义的空键盘实现类似效果。

参考案例:

@Entry
@Component
struct Index {
  @State message: string = 'Hello World';

  controller: RichEditorController = new RichEditorController();
  options: RichEditorOptions = {controller: this.controller};

  build() {
    RelativeContainer() {
      RichEditor(this.options).onReady(()=>{
        this.controller.addTextSpan(this.message,{
          style:{
            fontSize:'40fp'
          },
          gesture: {
            onClick: (event)=>{
              console.log("Test RichEditor")
            }
          }
        })
        this.controller.addImageSpan($r('app.media.app_icon'),{
          imageStyle:{
            size: ['16vp','16vp'],
            verticalAlign: ImageSpanAlignment.TOP
          }
        })
        this.controller.addImageSpan($r('app.media.app_icon'),{
          imageStyle:{
            size: ['16vp','16vp'],
            verticalAlign: ImageSpanAlignment.CENTER
          },
          gesture: {
            onClick: (event)=>{
              console.log("Test RichEditor")
            }
          }
        })
        this.controller.addImageSpan($r('app.media.app_icon'),{
          imageStyle:{
            size: ['16vp','16vp'],
            verticalAlign: ImageSpanAlignment.BOTTOM
          }
        })
        this.controller.addImageSpan($r('app.media.app_icon'),{
          imageStyle:{
            size: ['16vp','16vp'],
            verticalAlign: ImageSpanAlignment.BASELINE
          }
        })
      }).customKeyboard(this.MyBuilderFunction()) // 通过自定义空键盘实现键盘不弹出的效果
    }
    .height('100%')
    .width('100%')
  }

  @Builder
  MyBuilderFunction(){
    Column()
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.

或者参考文档是否满足使用需求:使用Text模块实现文本显示

分享
微博
QQ
微信
回复
2025-01-09 16:30:52


相关问题
TextInput在聚焦如何光标回到起点
3185浏览 • 3回复 待解决
HarmonyOS RichEditor光标位置异常问题
975浏览 • 1回复 待解决
TextInput在聚焦如何使光标回到起点
2358浏览 • 1回复 待解决
HarmonyOS RichEditor 添加图片后光标消失
671浏览 • 1回复 待解决
小程序输入法键盘光标问题
1326浏览 • 1回复 待解决
基于自定义键盘设置光标位置
1391浏览 • 1回复 待解决
JS UI 怎么判断键盘 是否拉起
7074浏览 • 1回复 待解决