我想在对话框 flutter DART 上显示结果
i WANT TO display the RESULT on DIALOG box flutter DART
我有一个名为 'doaddition'
的 SetState
函数,它计算值的中间值“sum
”
我有一个按钮,我想在单击该按钮时显示 dialog box
,在这个对话框中我想显示 'sum'
的结果
ps: 我想创建多个对话框,按钮显示其中之一取决于 'sum'
的结果
如果 sum
==0 显示 first dialog
else if sum
> 10 显示 second dialog
否则显示 third dialog
并且每个对话框都有自己的文本
以及 'sum'
的结果
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
home: MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
var sum = 0;
void doAddition() {
setState(() {
sum = 15;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: FlatButton(
child: Container(
height: 30,
width: 90,
color: Colors.blue,
child: Center(child: Text("Display"))),
onPressed: () {
doAddition();
if (sum < 10) {
showDialog(
context: context,
builder: (context) {
return Dialog(
child: Container(
height: 150,
child: Column(
children: <Widget>[
Text("Sum less than 10"),
Text("sum = " + sum.toString()),
],
),
),
);
});
} else if (sum > 10 && sum < 20) {
showDialog(
context: context,
builder: (context) {
return Dialog(
child: Container(
height: 150,
child: Column(
children: <Widget>[
Text("Sum greater than 10 but less than 20"),
Text("sum = " + sum.toString()),
],
),
),
);
});
} else if (sum > 20 && sum < 30) {
showDialog(
context: context,
builder: (context) {
return Dialog(
child: Container(
height: 150,
child: Column(
children: <Widget>[
Text("Sum greater than 20 but less than 30"),
Text("sum = " + sum.toString()),
],
),
),
);
});
} else {
showDialog(
context: context,
builder: (context) {
return Dialog(
child: Container(
height: 150,
child: Column(
children: <Widget>[
Text("Sum greater than 30"),
Text("sum = " + sum.toString()),
],
),
),
);
});
}
},
),
),
);
}
}
我有一个名为 'doaddition'
的 SetState
函数,它计算值的中间值“sum
”
我有一个按钮,我想在单击该按钮时显示 dialog box
,在这个对话框中我想显示 'sum'
ps: 我想创建多个对话框,按钮显示其中之一取决于 'sum'
如果 sum
==0 显示 first dialog
else if sum
> 10 显示 second dialog
否则显示 third dialog
并且每个对话框都有自己的文本 以及 'sum'
的结果import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
home: MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
var sum = 0;
void doAddition() {
setState(() {
sum = 15;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: FlatButton(
child: Container(
height: 30,
width: 90,
color: Colors.blue,
child: Center(child: Text("Display"))),
onPressed: () {
doAddition();
if (sum < 10) {
showDialog(
context: context,
builder: (context) {
return Dialog(
child: Container(
height: 150,
child: Column(
children: <Widget>[
Text("Sum less than 10"),
Text("sum = " + sum.toString()),
],
),
),
);
});
} else if (sum > 10 && sum < 20) {
showDialog(
context: context,
builder: (context) {
return Dialog(
child: Container(
height: 150,
child: Column(
children: <Widget>[
Text("Sum greater than 10 but less than 20"),
Text("sum = " + sum.toString()),
],
),
),
);
});
} else if (sum > 20 && sum < 30) {
showDialog(
context: context,
builder: (context) {
return Dialog(
child: Container(
height: 150,
child: Column(
children: <Widget>[
Text("Sum greater than 20 but less than 30"),
Text("sum = " + sum.toString()),
],
),
),
);
});
} else {
showDialog(
context: context,
builder: (context) {
return Dialog(
child: Container(
height: 150,
child: Column(
children: <Widget>[
Text("Sum greater than 30"),
Text("sum = " + sum.toString()),
],
),
),
);
});
}
},
),
),
);
}
}