首页 > 其他分享 >flutter中监听键盘

flutter中监听键盘

时间:2024-07-15 15:43:59浏览次数:14  
标签:focusNode 监听 flutter 键盘 key CategoryView event FocusNode

使用 Focus 和 onKey

class CategoryView extends GetView<CategoryController> {
  const CategoryView({Key? key}) : super(key: key);
  
  @override
  Widget build(BuildContext context) {
      final FocusNode _focusNode = FocusNode();

    return Scaffold(
      appBar: AppBar(
        title: const Text('CategoryView'),
        centerTitle: true,
      ),
      body:
          Focus(
            autofocus: true,
            onKey: (FocusNode focusNode, RawKeyEvent event) {
              if (event is RawKeyDownEvent) {
                print('Key Pressed: ${event.logicalKey.keyLabel}');
                // 在这里处理键盘事件
              }
              return KeyEventResult.handled;
            },
            child: Container(
              width: double.infinity,
              height: double.infinity,
              alignment: Alignment.center,
              child: Text('Tap anywhere to focus and start typing'),
            ),
            focusNode: _focusNode,
          ),
      );
    
  }
}

 

标签:focusNode,监听,flutter,键盘,key,CategoryView,event,FocusNode
From: https://www.cnblogs.com/xbinbin/p/18303012

相关文章

  • fastapi和uvicorn设置监听ipv6
    fastapi和uvicorn设置监听ipv6启动程序时我们一般写的是uvicorn.run(app,host="0.0.0.0",port=8000)但是这样子启动的程序在纯ipv6或者双栈(同时有ipv4和ipv6)的机子上使用ip(v6):port访问是访问不到的,所以我们需要更改启动方式。直接参考GitHub的一个讨论,最佳......
  • 【java深入学习第6章】Spring事件监听机制详解
    在Spring框架中,事件监听机制是一个强大且灵活的功能,允许我们在应用程序中发布和监听事件。这种机制可以帮助我们实现松耦合的设计,使得不同模块之间的通信更加灵活和可维护。本文将详细介绍Spring的事件监听机制,并通过代码示例展示如何使用这一功能。1.什么是Spring事件监听机制?......
  • 前端学习-flutter学习-010-按钮
    《Flutter实战·第二版》ElevatedButton(child:Text("ElevatedButton默认带有阴影和灰色背景。按下后,阴影会变大"),onPressed:(){},),TextButton(child:Text("TextButton默认背景透明并不带阴影。按下后,会有背景色"),onPressed:(){},),......
  • 前端学习-flutter学习-009-文本及样式
    《Flutter实战·第二版》TextTextAlign:leftrightcenter注意点:对齐的参考系是Textwidget本身,如果文本不够长,设置看起来是没有生效的;文本长才看得到,字符串内容超过一行,Text宽度等于屏幕宽度,第二行文本便会居中显示。maxLines、overflow:指定文本显示的最大行数,默认情况下,......
  • flutter pub get 的时候:A dependency specification must be a string or a mapping.
    想在pubspec.yaml文件中添加字体:报错了fonts:-family:MiaoZifonts:-asset:assets/fonts/MiaoZi-YunYingTi-2.ttfweight:500看了这篇文章解决了我原来是加在dependencies:flutter:sdk:flutter#新添加的依赖fonts:......
  • Python学习笔记36:进阶篇(二十五)pygame的使用之事件监听控制切歌和暂停,继续播放
    前言基础模块的知识通过这么长时间的学习已经有所了解,更加深入的话需要通过完成各种项目,在这个过程中逐渐学习,成长。我们的下一步目标是完成pythoncrashcourse中的外星人入侵项目,这是一个2D游戏项目。在这之前,我们先简单学习一下pygame模块。私信我发送消息python资料,......
  • 为什么键盘上F和J这两个键有两个凸起的横线呢?
    不知道小伙伴们有没有注意过,我们常用的电脑键盘上,为什么F和J这两个键总是有两个凸起的横线的呢?首先,让我们来回顾一下这位陪伴我们多年的老朋友——键盘。从最初的打字机到现在的机械键盘、薄膜键盘,键盘的形态和功能都经历了巨大的变化。但不管怎么变,有一个经典的布局始终......
  • 微信小程序车牌键盘输入组件(支持单个删除更改,支持赋值,支持新能源)
    网上一搜一大堆类似但大多都相对简单,适用的场景并不多。多数也不支持赋值不支持单个删除更改我就借鉴了一下网上文章的思路,为了达到自己想要的效果做了相对应的更改。效果图如下:直接上代码!WXML代码:点击查看代码<!--车牌号码输入框--><viewwx:for="{{carNum}}"wx:ke......
  • flutter组件学习
    List.generate-生成一个列表import'package:flutter/material.dart';voidmain(){//根据索引生成一个列表List<Widget>bts=List.generate(10,(index)=>ElevatedButton(onPressed:(){},child:Text("第$index个按钮")));Columncolumn=Column(chi......
  • 联想台式机键盘F1至F12:解锁快捷键的秘密武器
        在数字时代,键盘成为了我们与数字世界沟通的桥梁,而位于顶部的那一排功能键——F1至F12,则像是隐藏在桥头的魔法按钮,等待着被发掘。联想台式机键盘,以其卓越的设计和丰富的功能,赋予了这排按键更多的生命力。它们不仅承载着传统的功能,更集成了现代科技的便捷与智能。然......