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),
        );
      });
    });
  }
相关推荐
程序员老刘3 小时前
跨平台开发地图:客户端技术选型指南 | 2025年12月
flutter·客户端
一名普通的程序员4 小时前
使用 Flutter Pay 插件实现 Apple Pay 和 Google Pay 的完整指南
flutter
麦客奥德彪5 小时前
Flutter riverpod 对应Android开发概念理解
flutter
tangweiguo030519875 小时前
Kotlin vs Dart vs Swift:语法对比全解
flutter
feelingHy6 小时前
GetX 状态管理实践
flutter
tangweiguo030519876 小时前
Flutter多品牌应用架构实战:从配置驱动到编译部署的完整解决方案
flutter
Bryce李小白7 小时前
FlutterBoost适配Flutter3.38.4版本生成补丁包
flutter
tangweiguo030519878 小时前
Flutter Packages 设计与实践:构建可维护的模块化应用
flutter
小a杰.8 小时前
Flutter 的编译技术核心
flutter
hudawei99610 小时前
flutter setState(() { … }) 作用
flutter