flutter TextField 控制焦点位置

背景

使用Visibility来控制清理按钮的显示和隐藏,在设置Visibility的状态时,会导致TextField焦点丢失。使用AnimatedOpacity代替Visibility

在光标丢失后手动设置光标位置

dart 复制代码
void _setFocus({int? baseOffset}) {
    final int currentPosition =
        baseOffset ?? textController.selection.baseOffset;
    Future.delayed(Duration(milliseconds: 100), () {
      // Move focus to the end of the current text
      focusNode.requestFocus();
      Future.delayed(Duration(milliseconds: 100), () {
        // Save the current cursor position
        textController.selection = TextSelection.fromPosition(
          TextPosition(offset: currentPosition),
        );
      });
    });
  }
相关推荐
Utopia^6 小时前
鸿蒙flutter第三方库适配 - 联系人备份工具
flutter·华为·harmonyos
念格13 小时前
Flutter 仿微信输入框最佳实践:自适应高度 + 超行数智能切换全屏
前端·flutter
程序员老刘13 小时前
《Flutter跨平台开发核心技巧与应用》新书来了
flutter·ai编程·客户端
空中海15 小时前
7.1 Flutter 性能模型
flutter
weixin_4434785115 小时前
Flutter学习之第三方组件:视频播放器控件
学习·flutter·音视频
空中海19 小时前
11 Flutter 进阶与原理解析
flutter
于慨20 小时前
项目flutter运行环境汇总
flutter
空中海20 小时前
10 Flutter 测试与发布
flutter
空中海20 小时前
12 Flutter 实战项目与最佳实践
flutter