flutter - 为什么 ListTile 在单击时不会默认闪现?
问题描述
我已经用 a 填充了我的抽屉,ListTile
但是当单击它时,它不会执行默认的飞溅波纹。
这里的代码:
class ItemMenu extends StatelessWidget {
final bool show;
final IconData icon;
final String text;
final Function onTap;
ItemMenu(this.show, this.icon, this.text, this.onTap);
@override
Widget build(BuildContext context) {
return ListTile(
onTap: onTap,
title: Text(text,
style: TextStyle(
fontWeight: FontWeight.w300, fontSize: 20, color: Colors.black)),
leading: Icon(
icon,
color: Colors.black,
),
);
}
}
我打电话的代码ItemMenu
:pastebin.com/t1MZj6ZM
我的主题未设置为 Colors.transparent。我也试图包装成一个Inkwell
但什么都没有。还有什么可能的原因?
在此先感谢您的帮助!
解决方案
更改以下行:
onTap: onTap,
至:
onTap: () => onTap(),
似乎对我有用:
示例工作代码:
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) => MaterialApp(
home: MyHomePage(),
);
}
class MyHomePage extends StatelessWidget {
@override
Widget build(BuildContext context)=> Material(
child: Center(
child:ItemMenu(
true, Icons.edit, "Test", (){ print("hello"); }
),
),
);
}
class ItemMenu extends StatelessWidget {
final bool show;
final IconData icon;
final String text;
final Function onTap;
ItemMenu(this.show, this.icon, this.text, this.onTap);
@override
Widget build(BuildContext context) {
return ListTile(
onTap: () => onTap(),
title: Text(text,
style: TextStyle(
fontWeight: FontWeight.w300, fontSize: 20, color: Colors.black)),
leading: Icon(
icon,
color: Colors.black,
),
);
}
}
推荐阅读
- java - jspx中没有数据显示
- javascript - AMCharts 图表未显示在 Wordpress 中
- python - 为什么我不能“退出”我的嵌套 if else 语句(Python)?
- vue.js - VueJS TypeError:警报不是函数
- c - 递增运算符优先级
- amazon-web-services - 如何使用 AWS go SDK 检查是否为 ECS 服务启用了自动扩展?
- git - 如果我尝试 rebase 已经推送到开发分支的提交会发生什么
- python-3.7 - 我是初学者。请帮助解决这个问题。以下代码会导致无限循环。你能弄清楚缺少什么以及如何修复它吗?
- mysql - SELECT COUNT(id) 运行速度比 MySQL 中的其他计数慢
- pointers - Fortran:指向不同数组的数组指针