日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

flutter 怎么拦截请求_flutter中事件传递:禁止用户交互 获取点击事件

發(fā)布時(shí)間:2024/9/30 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 flutter 怎么拦截请求_flutter中事件传递:禁止用户交互 获取点击事件 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

可能有時(shí)候會需要這種需求

比如文本框可以響應(yīng)點(diǎn)擊事件但是禁止用戶輸入

直接粗暴的設(shè)置

TextField(enabled: false,)

這樣就無法得知ontap事件了,

當(dāng)然你可以用

enableInteractiveSelection: false

配合ontap 收鍵盤來達(dá)到目的

但是 不夠優(yōu)雅

記錄一下 flutter提供的兩個(gè)組件AbsorbPointer? 和 IgnorePointer

Column(

children: [

Text('AbsorbPointer'),

GestureDetector(

onTap: () {

print('AbsorbPointer');

},

child: AbsorbPointer(

absorbing: true,

child: Row(

children: [

TextField(enabled: false,),

RaisedButton(

onPressed: () {

print('onPressed');

},

),

RaisedButton(

onPressed: () {

print('onPressed');

},

),

RaisedButton(

onPressed: () {

print('onPressed');

},

),

RaisedButton(

onPressed: () {

print('onPressed');

},

),

],

),

),

),

Text('IgnorePointer'),

GestureDetector(

onTap: () {

print('IgnorePointer');

},

child: IgnorePointer(

ignoring: true,

child: Row(

children: [

RaisedButton(

onPressed: () {

print('onPressed');

},

),

RaisedButton(

onPressed: () {

print('onPressed');

},

),

RaisedButton(

onPressed: () {

print('onPressed');

},

),

RaisedButton(

onPressed: () {

print('onPressed');

},

),

],

),

),

)

],

)

區(qū)別:

IgnorePointer和AbsorbPointer,這兩個(gè)Widget都能阻止子樹接收指針事件,不同的是AbsorbPointer本身是可以接收指針事件的(但其子樹不行),而IgnorePointer本身就不可以接收指針事件

都是true到時(shí)候點(diǎn)擊

此時(shí)只有

AbsorbPointer可以響應(yīng) 而IgnorePointer則沒有反應(yīng)

檔都是false的時(shí)候

可以看到下邊的事件都可以響應(yīng)

總結(jié)

以上是生活随笔為你收集整理的flutter 怎么拦截请求_flutter中事件传递:禁止用户交互 获取点击事件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。