【发布时间】:2020-07-15 16:35:15
【问题描述】:
[在此处输入图像描述][1]我正在尝试创建一个屏幕测试应用程序,该应用程序可以显示屏幕的哪些部分对触摸没有响应。 这应该是一个非常简单的单屏应用程序,其中包含可以单击以测试屏幕的符号表。
我的符号表正常工作,但找不到如何在单击时切换符号。 如何在不构建近 100 个单独变量(或数组)的情况下让每个图标都有自己的切换。 图标可以有属性吗?
我在尝试使用 onTap 时遇到以下错误(我从 Flutter 演示应用程序中获得,但在这种情况下无法正常工作。)
编译器消息: lib/main.dart:33:32:错误:在此之前应为“]”。 点按:(){ ^ lib/main.dart:33:27:错误:没有为类 '_MyAppState' 定义 getter 'onTap'。
'_MyAppState' 来自'package:app1/main.dart' ('lib/main.dart')。 尝试将名称更正为现有 getter 的名称,或定义一个名为“onTap”的 getter 或字段。 点按:(){ ^^^^^
void main() {
runApp(MyApp());
}
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
double iconSize = 40;
@override
Widget build(BuildContext context) {
var toggledOn = false;
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Screen Tester'),
),
body: Center(
child: Column(children: <Widget>[
Container(
margin: EdgeInsets.all(10),
child: Table(
border: TableBorder.all(),
children: [
TableRow( children: [
Column(children:[
Icon(Icons.adjust, size: iconSize,
color: toggledOn ? Colors.green : Colors.blue),
onTap: () {
setState(() {
if (toggledOn = false) {
toggledOn = true;
} else {
toggledOn = false;
}
});
}
]),
Column(children:[
Icon(Icons.adjust, size: iconSize,
color: toggledOn ? Colors.green : Colors.red),
]),
Column(children:[
Icon(Icons.adjust, size: iconSize,
color: toggledOn ? Colors.green : Colors.red),
]),
Column(children:[
Icon(Icons.adjust, size: iconSize,
color: toggledOn ? Colors.green : Colors.red),
]),
Column(children:[
Icon(Icons.adjust, size: iconSize,
color: toggledOn ? Colors.green : Colors.red),
])
]),
TableRow( children: [
Icon(Icons.adjust, size: iconSize,
color: toggledOn ? Colors.green : Colors.red),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
]),
TableRow( children: [
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
]),
TableRow( children: [
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
]),
TableRow( children: [
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
]),
TableRow( children: [
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
]),
TableRow( children: [
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
]),
TableRow( children: [
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
]),
TableRow( children: [
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
]),
TableRow( children: [
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
]),
TableRow( children: [
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
]),
TableRow( children: [
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
]),
TableRow( children: [
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
]),
TableRow( children: [
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
]),
TableRow( children: [
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
]),
TableRow( children: [
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
Icon(Icons.adjust, size: iconSize,),
]),
],
),
),
]))),
);
}
}```
[1]: https://i.stack.imgur.com/O019z.png
【问题讨论】:
-
你想要一个
IconButton。小部件不能自发添加它们没有的属性。 -
@Christopher Moore 我认为你是对的。请将其添加为答案。
标签: flutter dart flutter-layout