gpt4 book ai didi

android - Flutter:InkWell 未检测到水龙头

转载 作者:IT王子 更新时间:2023-10-29 06:51:59 26 4
gpt4 key购买 nike

我正在用 flutter 编写我的第一个应用程序,并遇到了 InkWell 在被点击时无法检测到的问题。这是一个比我能找到的例子更复杂的结构。我写了以下函数:

class ChatOverviewElements {
static Widget buildChatEntry(BuildContext context, String username,
String lastMessageText,
String lastMessageDate, bool group,
int unread, int chatID) {
return new Material(
child: new Ink(
padding: const EdgeInsets.only(right: 32.0),
child: new InkWell(
onTap: ChatOverviewNavigation.openChat(context, chatID),
child: new Row(
children: <Widget>[
new Container(
padding: const EdgeInsets.all(10.0),
child: new Icon(
Icons.account_circle,
size: 60.0,
),
),
new Expanded (
child: new Container(
padding: const EdgeInsets.only(right: 5.0),
height: 60.0,
child: new Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
new Row(
children: <Widget>[
group ? new Icon(Icons.group) : new Container(),
new Container(width: group ? 10.0 : 0.0,),
TextStyles.username(username),
],
),
TextStyles.chatSnippet(lastMessageText),
],
),
),
),
new Column(
children: <Widget>[
new Row(
children: <Widget>[
new Icon(
Icons.done_all,
color: Colors.green,
),
new Container(width: 8.0,),
TextStyles.chatDate(lastMessageDate),
]),
new Icon(
Icons.thumb_up,
color: Colors.grey[500],
)
],
),
],
),
),
),
);
}
}

它会创建一个框,就像您在 WhatsApp 等中看到的那样,带有用户名、消息预览、未读徽章(竖起大拇指的图标是一个占位符)等等。我希望外部 Container 是可点击的,所以我将其更改为 Ink(以查看波纹)并添加 InkWell 和其他所有内容作为该井的子项。那是行不通的。它完全检测不到水龙头,我不明白为什么。

调用 build 函数来创建 ListView 的子项,ListView 本身嵌套在 Scaffold 和 Material App 中。不过这应该无关紧要,我在 ListView 中尝试了来自 StackOverflow 的简单示例,它们工作得很好。

所以问题是:我在这里做错了什么? InkWell 必须放在哪里才能使整个容器可点击并且在容器背景上显示波纹?

最佳答案

onTap: ChatOverviewNavigation.openChat(context, chatID),

应该是

onTap: () => ChatOverviewNavigation.openChat(context, chatID),

否则 ChatOverviewNavigation.openChat(context, chatID) 的结果将用作 onTap 处理程序。

关于android - Flutter:InkWell 未检测到水龙头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49198169/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com