请教一个简单的 flutter 问题,顺便求一个 flutter 交流群 - V2EX
rrubick

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

  •  
  •   rrubick May 23, 2022 3508 views
    This topic created in 1455 days ago, the information mentioned may be changed or developed.

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

    想在 Row 上加一个点击事件

    return Scaffold( appBar: AppBar( // Here we take the value frm 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 交流群,可以指点一下

    19 replies    2022-07-22 17:31:53 +08:00
    FrankFang128
        1
    FrankFang128  
       May 23, 2022
    那你要用 Guesture 之类的组件
    rrubick
        2
    rrubick  
    OP
       May 23, 2022
    @FrankFang128 #1
    是 GestureDetector 吗?我加到 Row 的父 View Container 上了,但是不是 Container 上所有位置都能触发,费解
    monkeyzsf
        3
    monkeyzsf  
       May 23, 2022
    GestureDetector 包裹的 Container 加上 color 方便确认大小,我试了,点击整条 Container 都可以响应 onTap 事件,你确认是不是手指太粗点不到容器?
    monkeyzsf
        4
    monkeyzsf  
       May 23, 2022
    你的代码,我试了 MacOS 、ChromeWeb 都没问题
    tribute
        5
    tribute  
       May 23, 2022   1
    有一个 opaque 参数,好像叫这个
    lijy91
        6
    lijy91  
       May 23, 2022
    欢迎加入 LeanFlutter 的讨论群 https://github.com/leanflutter
    isRealLeven
        7
    isRealLeven  
       May 23, 2022   1
    GestureDetector 中属性 behavior: HitTestBehavior.opaque,
    rrubick
        8
    rrubick  
    OP
       May 23, 2022
    @monkeyzsf #4
    我试了一下 ChromeWeb 也不可以啊。您别点击字或者 icon ,点击 Row 的中间没反应
    rrubick
        9
    rrubick  
    OP
       May 23, 2022
    @lijy91 #6
    已加群
    ArcherDunes
        10
    ArcherDunes  
       May 26, 2022
    诚招 Flutter 工程师,使用 IM SDK 开发聊天类 APP ,要求经验丰富,有实际上架产品,有原生开发经验加分。
    Alexrx
        11
    Alexrx  
       May 31, 2022
    就是 7l 说的原因 具体的就是 flutter 默认一般都是 deferToChild,能不能通过命中测试取决于子组件,点中间空白的地方 hittest 没找到可以响应的子组件,row 自己本身 hittestself 也是 false 所以就没得效果 可以用 inkwell 代替 这个类是基于 gesture 封装的 内部默认 opaque
    rrubick
        12
    rrubick  
    OP
       Jun 1, 2022
    @tion126x #11
    能否继承 row 并重写 hittest 来达到响应呢?
    Shiweizhi
        13
    Shiweizhi  
       Jun 5, 2022
    version398919
       14
    version398919  
       Jun 10, 2022   1
    1. padding 生效了,只是同一个 Container 的 color 不会收到 padding 影响。
    2. 把 GestureDetector 改成 InkWell 就行

    注:你包裹 Row 的 Container 是没意义的,可以去掉。Row 里的 Spacer 也可以去掉,用 MainAxisAlignment.spaceBetween 可以做到同样的效果。
    rrubick
        15
    rrubick  
    OP
       Jun 11, 2022
    @version398919 #14
    flutter 界面稍微一写就一大段,请问有优雅的写法吗?
    Alexrx
        16
    Alexrx  
       Jun 18, 2022
    @magic3584 可以的 但是 flutter 继承比较麻烦 一般不会这样写
    dabbit
        17
    dabbit  
       Jul 7, 2022
    @magic3584 查查 lint ,可以规范写法(但是里面有些规则挺繁复的,按需自己编辑)。另外就是多写咯,写得多就知道怎么写能简单点。如果以前是写安卓的,可以试试这个 https://pub.flutter-io.cn/packages/flutter_constraintlayout ,我自己没试过,但是按照作者的说法,是值得一试的。
    gracewangabc
        18
    gracewangabc  
       Jul 8, 2022
    诚招远程 Flutter ,16-45K ,Telegram:@somebody_abc, 微信:@somebody_abcde
    akaHenry
        19
    akaHenry  
       Jul 22, 2022
    > flutter 技术群:

    - https://discord.com/invite/MnDA9pfWAW


    > 可以使用 niku 简写样式.

    https://github.com/saltyAom/niku
    About     Help     Advertise     Blog     API     FAQ     Solana     2596 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 56ms UTC 15:59 PVG 23:59 LAX 08:59 JFK 11:59
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86