InkWell( onTap: () { _isExpanded = !_isExpanded; setState(() {}); print(_isExpanded); }, // behavior:HitTestBehavior.translucent, child:Container( margin: const EdgeInsets.all(10), child: CustomButton( width: 20, height: 20, radius: 10, shadowColor: ThemeDefine.color_shadow, child: Icon(_isExpanded?Icons.expand_less:Icons.expand_more, color: ThemeDefine.color_theme, size: 20), ), ), )为何点击无效
时间: 2024-02-10 08:28:40 浏览: 191
根据您提供的代码,点击无效的原因可能是因为CustomButton组件或其父组件的布局问题。
CustomButton组件是您自定义的组件,我无法直接了解其内部实现。请确保CustomButton组件正确处理了触摸事件,并且没有屏蔽或拦截了点击事件。
另外,InkWell组件的child属性是Container组件,它具有一个margin属性。如果Container的margin值过大,可能会导致InkWell无法正确接收触摸事件。您可以尝试将Container的margin值设置为0或适当调整。
最后,还请确认InkWell组件及其父组件没有被其他组件(如Stack)遮挡或覆盖,以确保触摸事件能够正确传递到InkWell。
如果以上方法仍然无法解决问题,请提供更多相关代码或布局信息,以便我能够更好地帮助您。谢谢!
相关问题
Widget Maxcenter(RecordResultRecords item){ return Container( color: Color.fromRGBO(248,249,253,1), child: Column( children: [ MyDimens.height(height: 8), Text(item.createTime.substring(5,11) ?? "10/20", style: MyStyle.text_style_14_119, ), Container( width: MyDimens.getWidth(343), height: MyDimens.getHeight(109), margin: EdgeInsets.only( top: MyDimens.getHeight(10), right: MyDimens.getWidth(16), left: MyDimens.getWidth(16)), padding: EdgeInsets.only( top: MyDimens.getHeight(20), right: MyDimens.getWidth(16), left: MyDimens.getWidth(20) ), decoration: const BoxDecoration( color: Colors.white, borderRadius: BorderRadius.all(Radius.circular(10)), ), child: InkWell( child: Column( children: [ Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text('举报用户', style: MyStyle.text_style_16_0, ), Text('用户名称', style: MyStyle.text_style_16_254,), ], ), MyDimens.height(height: 14), Text(item.tmrDesc??'暂无数据', maxLines: 3, overflow: TextOverflow.ellipsis, style: MyStyle.text_style_12_102,textAlign: TextAlign.left, ) ], ), onTap: (){ RouteUtil.startActivity(context, Reportdetal()); }, )) ], ), ); }【在这里怎么吧05-29数据放在一起】如果有05-30的数据的话并显示【05-30的数据】注:5-29的数据和05-30的数据是分开的
你可以在这个Widget里面添加一个判断语句,判断当前的数据是否为05-29的数据,如果是,就显示05-29的数据,如果不是,就不显示。然后再添加一个类似的判断语句,判断当前的数据是否为05-30的数据,如果是,就显示05-30的数据,如果不是,就不显示。具体代码如下:
```
Widget Maxcenter(RecordResultRecords item){
return Container(
color: Color.fromRGBO(248,249,253,1),
child: Column(
children: [
MyDimens.height(height: 8),
Text(item.createTime.substring(5,11) ?? "10/20", style: MyStyle.text_style_14_119, ),
Container(
width: MyDimens.getWidth(343),
height: MyDimens.getHeight(109),
margin: EdgeInsets.only( top: MyDimens.getHeight(10), right: MyDimens.getWidth(16), left: MyDimens.getWidth(16)),
padding: EdgeInsets.only( top: MyDimens.getHeight(20), right: MyDimens.getWidth(16), left: MyDimens.getWidth(20) ),
decoration: const BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.all(Radius.circular(10)),
),
child: Column(
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text('举报用户', style: MyStyle.text_style_16_0, ),
Text('用户名称', style: MyStyle.text_style_16_254,),
],
),
MyDimens.height(height: 14),
Text(item.tmrDesc??'暂无数据', maxLines: 3, overflow: TextOverflow.ellipsis, style: MyStyle.text_style_12_102,textAlign: TextAlign.left, ),
if (item.createTime.substring(5,11) == "05-29") Text("05-29的数据"),
if (item.createTime.substring(5,11) == "05-30") Text("05-30的数据"),
],
),
onTap: (){ RouteUtil.startActivity(context, Reportdetal()); },
)
],
),
);
}
```
flutter InkWell
InkWell是Flutter中常用的点击Widget之一。它可以与Flutter自带的Material一起使用,实现带有水波纹效果的点击效果。
另外,在Flutter开发中,也可以使用GestureDetector将某个组件包裹起来实现点击事件,但是它不会有水波纹效果,而InkWell可以实现水波纹效果。
如果你想要去除水波纹点击效果,你可以参考《Flutter 3 下的 ThemeExtensions 和 Material3》中的相关内容。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [Flutter 小技巧之 InkWell & Ink 你了解多少](https://blog.csdn.net/ZuoYueLiang/article/details/131292481)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [flutter InkWell实现水波纹点击效果](https://download.csdn.net/download/weixin_38703895/14916150)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文