You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中使用screen_protector包录屏时如何隐藏键盘?

Flutter中使用screen_protector包录屏时如何隐藏键盘?

嗨,这个问题其实是可以解决的!虽然键盘确实由系统管理,但我们可以通过手动控制避免它出现在录屏里。先看看你遇到的情况:

就像你截图里显示的这样,键盘在录屏结果中格外显眼:
Current state that still shows keyboard when recording

给你几个实用的解决方案:

  • 录屏前主动隐藏键盘:在调用screen_protector的录屏启动方法之前,先执行隐藏键盘的操作。你可以用这两行代码中的任意一个:

    // 方法1:通过焦点管理取消输入焦点
    FocusManager.instance.primaryFocus?.unfocus();
    // 方法2:直接调用系统通道隐藏键盘
    SystemChannels.textInput.invokeMethod('TextInput.hide');
    

    这样录屏开始时,键盘已经被收起,自然不会出现在录屏结果里。

  • 录屏期间控制键盘弹出:如果你的场景是录屏过程中用户可能会点击输入框,那可以做额外处理:

    • 给输入框添加状态判断,当处于录屏状态时,禁用输入框的焦点(设置enabled: !isRecording),这样用户点击也不会弹出键盘;
    • 或者监听输入框的焦点变化,一旦检测到焦点获取且正在录屏,立刻执行上面的隐藏键盘代码。

另外,你也可以检查下screen_protector包的配置项,看看有没有提供忽略系统UI(比如键盘)的参数,如果有的话直接开启就更方便啦,但如果没有的话,上面的手动控制方法完全够用。

备注:内容来源于stack exchange,提问作者NaNoTek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.13 17:13:16