请教一个简单的 Flutter 问题,顺便求一个 Flutter 交流群

发布于 1周前 作者 eggper 来自 Flutter

想学习 flutter 写一个小 app ,主页刚开始就碰到问题了:

想在 Row 上加一个点击事件

return Scaffold(
        appBar: AppBar(
          // Here we take the value from the MyHomePage object that was created by
          // the App.build method, and use it to set our appbar title.
          title: Text(widget.title),
        ),
        body: Container(
          padding: EdgeInsets.all(15),//这里想做一个 padding 但是未生效
          color: Colors.red,
          child: GestureDetector(
            onTap: () {
              print('object');
            },
            child: Container(
              child: Row(
                children: [Text('默认'), Spacer(), Icon(Icons.arrow_right)],
              ),
            ),
          ),
        )
        // This trailing comma makes auto-formatting nicer for build methods.
        );

但是实际效果是只有点击 Text 和 Icon 的位置才会触发,不知道为啥。。。

求一个 flutter 交流群,可以指点一下


请教一个简单的 Flutter 问题,顺便求一个 Flutter 交流群

更多关于请教一个简单的 Flutter 问题,顺便求一个 Flutter 交流群的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

20 回复

那你要用 Guesture 之类的组件

更多关于请教一个简单的 Flutter 问题,顺便求一个 Flutter 交流群的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


#1
是 GestureDetector 吗?我加到 Row 的父 View Container 上了,但是不是 Container 上所有位置都能触发,费解

GestureDetector 包裹的 Container 加上 color 方便确认大小,我试了,点击整条 Container 都可以响应 onTap 事件,你确认是不是手指太粗点不到容器?

你的代码,我试了 MacOS 、ChromeWeb 都没问题

有一个 opaque 参数,好像叫这个

欢迎加入 LeanFlutter 的讨论群 https://github.com/leanflutter

GestureDetector 中属性 behavior: HitTestBehavior.opaque,

#4
我试了一下 ChromeWeb 也不可以啊。您别点击字或者 icon ,点击 Row 的中间没反应

诚招 Flutter 工程师,使用 IM SDK 开发聊天类 APP ,要求经验丰富,有实际上架产品,有原生开发经验加分。

就是 7l 说的原因 具体的就是 flutter 默认一般都是 deferToChild,能不能通过命中测试取决于子组件,点中间空白的地方 hittest 没找到可以响应的子组件,row 自己本身 hittestself 也是 false 所以就没得效果 可以用 inkwell 代替 这个类是基于 gesture 封装的 内部默认 opaque

#11
能否继承 row 并重写 hittest 来达到响应呢?

  1. padding 生效了,只是同一个 Container 的 color 不会收到 padding 影响。
    2. 把 GestureDetector 改成 InkWell 就行

    注:你包裹 Row 的 Container 是没意义的,可以去掉。Row 里的 Spacer 也可以去掉,用 MainAxisAlignment.spaceBetween 可以做到同样的效果。

#14
flutter 界面稍微一写就一大段,请问有优雅的写法吗?

可以的 但是 flutter 继承比较麻烦 一般不会这样写

查查 lint ,可以规范写法(但是里面有些规则挺繁复的,按需自己编辑)。另外就是多写咯,写得多就知道怎么写能简单点。如果以前是写安卓的,可以试试这个 https://pub.flutter-io.cn/packages/flutter_constraintlayout ,我自己没试过,但是按照作者的说法,是值得一试的。

诚招远程 Flutter ,16-45K ,Telegram:@somebody_abc, 微信:@somebody_abcde

关于你提出的Flutter问题,由于你未具体说明问题内容,我无法直接给出针对该问题的解答。不过,我可以为你提供一些Flutter学习的建议和资源,帮助你更好地掌握这门技术。

Flutter是由Google开发的开源UI框架,用于构建跨平台的移动、Web和桌面应用程序。它使用Dart作为编程语言,并提供了丰富的可自定义UI组件和高效的开发工具。

对于初学者来说,建议从Flutter的官方文档和教程入手,逐步了解Flutter的基础知识和核心概念。同时,也可以参考一些优质的开源Flutter项目和社区资源,通过实践来加深理解。

至于你寻找的Flutter交流群,我建议你可以通过以下方式加入:

  1. 在社交媒体和开发者社区中搜索“Flutter交流群”或相关关键词,找到一些公开的群组并申请加入。
  2. 参加Flutter的线下活动或线上研讨会,与其他开发者面对面交流,并询问他们是否了解相关的交流群组。
  3. 在Flutter的官方论坛或社区中发布求助信息,询问其他开发者是否愿意分享交流群的信息。

希望这些建议和资源能对你有所帮助。祝你学习愉快!

回到顶部