我希望能够使用鼠标拖动/滑动屏幕,而不是使用滚轮.我在追爸爸!OS 22.04(Ubuntu Linux).感谢您的帮助:)

推荐答案

只需添加以下代码段以启用鼠标拖动滚动,并在MaterialApp.scrollBehavior属性中创建它:

// Enable scrolling with mouse dragging
class MyCustomScrollBehavior extends MaterialScrollBehavior {
  @override
  Set<PointerDeviceKind> get dragDevices => {
        PointerDeviceKind.touch,
        PointerDeviceKind.mouse,
      };
}

the live demo on DartPad及以下的源代码选为minimal-reproducible-example

import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        //
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(),
      scrollBehavior: MyCustomScrollBehavior(), // <- Here
    );
  }
}

class MyHomePage extends StatelessWidget {
  const MyHomePage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    //
    return Scaffold(
      body: Center(
        child: ListView.separated(
          itemBuilder: ((context, index) =>
              ListTile(title: Text('Item $index'))),
          separatorBuilder: (context, index) => const Divider(),
          itemCount: 100,
        ),
      ),
    );
  }
}

// Enable scrolling with mouse dragging
class MyCustomScrollBehavior extends MaterialScrollBehavior {
  @override
  Set<PointerDeviceKind> get dragDevices => {
        PointerDeviceKind.touch,
        PointerDeviceKind.mouse,
      };
}

Linux相关问答推荐

使用Bash从文件名中删除日期名称

在c++编译期间,什么是linux命令,它给出了链接库的路径?

C++调试器如何知道如何在源代码和可执行文件之间映射行?

Git - 打印以不同编码混合的文件

在正在运行的进程的输出周围添加自定义字符串

Docker 守护进程安装在 ubuntu jenkins docker 容器代理权限被拒绝

Linux内核模块构建过程中,许可信息添加了前缀

awk 使用动态列号

使用 AWK 过滤 Linux 输出

使用 bash 在包含模式的 java 文件中查找行,然后替换该行的另一部分

如何使用多个版本的 GCC

如何获取 CPU 使用率

Bash 命令 :(){ :|:& };: 将产生进程导致内核死亡.你能解释一下语法吗?

Linux 的 TextMate 替代品

bash 中的线程?

linux根据文件名模式搜索文件

给定一个 linux 用户名和密码,我如何测试它是否是有效帐户?

有什么方法可以在linux中保留但不提交内存?

如何编写 Mono 守护程序

学习内核编程