gpt4 book ai didi

flutter - ListTile、图标和 onTap

转载 作者:行者123 更新时间:2023-12-05 00:44:55 26 4
gpt4 key购买 nike

我正在使用带有两个图标(前导和尾随)的 ListTile。我想知道我是否可以有两个不同的 Action 。如果我点击前导图标一个 Action ,如果我点击尾随图标另一个 Action 。

以下是我当前的源代码。非常感谢您的帮助。不胜感激。

ListTile(
trailing: Icon(Icons.keyboard_arrow_right),
leading: ConstrainedBox(
constraints: BoxConstraints(
minWidth: leadingIconMinSize,
minHeight: leadingIconMinSize,
maxWidth: leadingIconMaxSize,
maxHeight: leadingIconMaxSize,
),

child: Icon(Icons.check_box_outline_blank),//Image.asset('assets/icons/inbox.png'),
),

title: GestureDetector(
child: Text(
//'task_Name' correspond au nom du champ dans la table
document.data()['task_Name'],
maxLines: 2,
overflow: TextOverflow.ellipsis,
),

onTap: () {

print('case à cocher');
//TODO decider ce que je fais pour ici
},

// Pour editer task
onDoubleTap: () {
taskSelectedID = FirebaseFirestore
.instance
.collection('Users')
.doc(
FirebaseAuth.instance.currentUser.uid)
.collection('allTasks')
.doc(document.id);

var myUser = FirebaseAuth.instance.currentUser
.uid;
var test = (document.id);

print('$myUser');

print('$test');

print('$taskSelectedID');

print(taskDetail);

// showDialog(context: context, builder: (_) {
// return MyShowGeneralDialog();
// });
},
),

//TODO afficher nom projet ou marquer pas de projet ou rien si aucun projet
subtitle:Text('no project' ),//Text(document.data()['project_Name']),
),

最佳答案

您可以简单地将 IconButton 放在尾随和前导。

这可能看起来像这样:

ListTile(
trailing: IconButton(icon: Icon(Icons.keyboard_arrow_right), onPressed: () {
print('secondAction');
}),
leading: ConstrainedBox(
constraints: BoxConstraints(
minWidth: 20,
minHeight: 20,
maxWidth: 20,
maxHeight: 20,
),

child: IconButton(icon: Icon(Icons.check_box_outline_blank), onPressed: () {
print('firstAction');
}),
),

title: GestureDetector(
child: Text(
//'task_Name' correspond au nom du champ dans la table
document.data()['task_Name'],
maxLines: 2,
overflow: TextOverflow.ellipsis,
),

onTap: () {

print('case à cocher');
//TODO decider ce que je fais pour ici
},

// Pour editer task
onDoubleTap: () {
taskSelectedID = FirebaseFirestore
.instance
.collection('Users')
.doc(
FirebaseAuth.instance.currentUser.uid)
.collection('allTasks')
.doc(document.id);

var myUser = FirebaseAuth.instance.currentUser
.uid;
var test = (document.id);

print('$myUser');

print('$test');

print('$taskSelectedID');

print(taskDetail);

// showDialog(context: context, builder: (_) {
// return MyShowGeneralDialog();
// });
},
),

//TODO afficher nom projet ou marquer pas de projet ou rien si aucun projet
subtitle: Text('no project'), //Text(document.data()['project_Name']),
),

注意这部分:

trailing: IconButton(icon: Icon(Icons.keyboard_arrow_right), onPressed: () {print('secondAction');}),
leading: ConstrainedBox(
constraints: BoxConstraints(
minWidth: 20,
minHeight: 20,
maxWidth: 20,
maxHeight: 20,
),
child: IconButton(icon: Icon(Icons.check_box_outline_blank), onPressed: () {print('firstAction');),

关于flutter - ListTile、图标和 onTap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65169746/

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