【发布时间】:2021-06-07 05:11:49
【问题描述】:
import 'package:flutter/material.dart';
import 'package:workplan_beta_test/pages/updateworkplan.dart';
import 'package:workplan_beta_test/pages/workplan.dart';
Map<int, Color> color = {
50: Color.fromRGBO(255, 92, 87, .1),
100: Color.fromRGBO(255, 92, 87, .2),
200: Color.fromRGBO(255, 92, 87, .3),
300: Color.fromRGBO(255, 92, 87, .4),
400: Color.fromRGBO(255, 92, 87, .5),
500: Color.fromRGBO(255, 92, 87, .6),
600: Color.fromRGBO(255, 92, 87, .7),
700: Color.fromRGBO(255, 92, 87, .8),
800: Color.fromRGBO(255, 92, 87, .9),
900: Color.fromRGBO(255, 92, 87, 1),
};
MaterialColor colorCustom = MaterialColor(0xFF4fa06d, color);
class MenuWorkplan extends StatelessWidget {
late final Color? color;
@override
Widget build(BuildContext context) => Scaffold(
appBar: AppBar(
title: Text('Workplan'),
centerTitle: true,
backgroundColor: colorCustom,
),
body: new ListView(
shrinkWrap: true,
padding: const EdgeInsets.all(20.0),
children: List.generate(choices.length, (index) {
return Center(
child: ChoiceCard(
choice: choices[index],
item: choices[index],
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => Workplan(),
));
},
onTap: () {
error in this line
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => Workplan(),
));
},
),
);
})));
}
我想在 ChoiceCard Widget 内的 listView 中添加两个 onTap() 方法,以便跟踪两次点击。那可能吗?任何替代帮助都是可观的。我是一个新手。下面是我的示例代码。提前致谢。
【问题讨论】:
-
您不能在一个小部件中两次使用相同的属性。请更好地解释您的用例。
-
你只需用 Inkwell 包裹你的 ChoiceCard 并使用 onTap,我希望它对你有用。
标签: android flutter flutter-layout