Flutter 如何从按下的浮动按钮调用类
我一直在尝试使用浮动操作按钮来执行一个类,但我一直在尝试所有操作,但都失败了。这是我的密码:Flutter 如何从按下的浮动按钮调用类,flutter,Flutter,我一直在尝试使用浮动操作按钮来执行一个类,但我一直在尝试所有操作,但都失败了。这是我的密码: import 'package:flutter/material.dart'; import 'dart:math'; void main() { return runApp( MaterialApp( home: Scaffold( backgroundColor: Colors.white70, appBar: AppBar(
import 'package:flutter/material.dart';
import 'dart:math';
void main() {
return runApp(
MaterialApp(
home: Scaffold(
backgroundColor: Colors.white70,
appBar: AppBar(
centerTitle: true,
title: Text('Dices'),
backgroundColor: Colors.teal,
),
body: DicePage(),
floatingActionButton: FloatingActionButton(
child: const Icon(Icons.add), onPressed: () {}),
),
),
);
}
class DicePage extends StatefulWidget {
@override
_DicePageState createState() => _DicePageState();
}
class _DicePageState extends State<DicePage> {
int leftDiceNum = 1;
int rightDiceNum = 1;
void diceRandomizer() {
setState(() {
leftDiceNum = Random().nextInt(6) + 1;
rightDiceNum = Random().nextInt(6) + 1;
});
}
@override
Widget build(BuildContext context) {
return Center(
child: Row(
children: <Widget>[
Expanded(
child: FlatButton(
onPressed: () {
diceRandomizer();
},
child: Image.asset('images/dice$leftDiceNum.png'),
),
),
Expanded(
child: FlatButton(
onPressed: () {
diceRandomizer();
},
child: Image.asset('images/dice$rightDiceNum.png'),
),
),
],
),
);
}
}
导入“包装:颤振/材料.省道”;
导入“dart:math”;
void main(){
返回runApp(
材料聚丙烯(
家:脚手架(
背景颜色:Colors.white70,
appBar:appBar(
标题:对,
标题:文本(“骰子”),
背景颜色:Colors.teal,
),
正文:DicePage(),
浮动操作按钮:浮动操作按钮(
子:const图标(Icons.add),onPressed:({}),
),
),
);
}
类页面扩展StatefulWidget{
@凌驾
_DicePageState createState()=>\u DicePageState();
}
类_DicePageState扩展状态{
int leftDiceNum=1;
int rightdienum=1;
无效随机数发生器(){
设置状态(){
leftDiceNum=Random().nextInt(6)+1;
rightdienum=Random().nextInt(6)+1;
});
}
@凌驾
小部件构建(构建上下文){
返回中心(
孩子:排(
儿童:[
扩大(
孩子:扁平按钮(
已按下:(){
随机数发生器();
},
子级:Image.asset('images/dice$leftDiceNum.png'),
),
),
扩大(
孩子:扁平按钮(
已按下:(){
随机数发生器();
},
子级:Image.asset('images/dice$rightDiceNum.png'),
),
),
],
),
);
}
}
现在的代码是一个简单的骰子应用程序,如果我按下图像,功能DiceRandomizer就会激活,它会随机给出一个1到6之间的数字。然后图像被呈现出来。但我想用浮动操作按钮来实现这一点。据我所知,这是因为类未定义,请尝试修复代码
import 'package:flutter/material.dart';
import 'dart:math';
void main() {
return runApp(
MaterialApp(home: DicePage()),
);
}
class DicePage extends StatefulWidget {
@override
_DicePageState createState() => _DicePageState();
}
class _DicePageState extends State<DicePage> {
int leftDiceNum = 1;
int rightDiceNum = 1;
diceRandomizer() {
setState(() {
leftDiceNum = Random().nextInt(6) + 1;
rightDiceNum = Random().nextInt(6) + 1;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white70,
appBar: AppBar(
centerTitle: true,
title: Text('Dices'),
backgroundColor: Colors.teal),
body: Center(
child: Row(
children: <Widget>[
Expanded(
child: TextButton(
onPressed: () {
diceRandomizer();
},
child: Image.asset('images/dice$leftDiceNum.png'),
),
),
Expanded(
child: TextButton(
onPressed: () {
diceRandomizer();
},
child: Image.asset('images/dice$rightDiceNum.png'),
),
),
],
),
),
floatingActionButton: Row(
children: [
FloatingActionButton(
onPressed: () {diceRandomizer();},
),
FloatingActionButton(
onPressed: (){diceRandomizer();},
)
],
),
);
}
}
导入“包装:颤振/材料.省道”;
导入“dart:math”;
void main(){
返回runApp(
MaterialApp(主页:DicePage()),
);
}
类页面扩展StatefulWidget{
@凌驾
_DicePageState createState()=>\u DicePageState();
}
类_DicePageState扩展状态{
int leftDiceNum=1;
int rightdienum=1;
随机数发生器(){
设置状态(){
leftDiceNum=Random().nextInt(6)+1;
rightdienum=Random().nextInt(6)+1;
});
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
背景颜色:Colors.white70,
appBar:appBar(
标题:对,
标题:文本(“骰子”),
背景颜色:颜色。青色),
正文:中(
孩子:排(
儿童:[
扩大(
孩子:文本按钮(
已按下:(){
随机数发生器();
},
子级:Image.asset('images/dice$leftDiceNum.png'),
),
),
扩大(
孩子:文本按钮(
已按下:(){
随机数发生器();
},
子级:Image.asset('images/dice$rightDiceNum.png'),
),
),
],
),
),
浮动操作按钮:行(
儿童:[
浮动操作按钮(
onPressed:(){diceRandomizer();},
),
浮动操作按钮(
onPressed:(){diceRandomizer();},
)
],
),
);
}
}
注意
- 我做了两个浮动动作按钮
- FlatButton已删除,必须迁移到TextButton
试试看结果,如果有错误,你可以发表评论,我会帮你。添加标签时,不必在标题或帖子正文中重复该信息。这样做只是多余的噪音。标签就足够了-这里的标签系统工作得非常好,不需要帮助。代码可以工作吗?很抱歉这么晚才回答,这是一个令人兴奋的周末。我还没能让它工作,也许我需要学习多一点(这里是颤振新手),但非常感谢!什么问题?我也是新手,但我想帮助你抱歉花了这么长时间,谢谢你的回复,非常感谢。所以我想做的是使浮动按钮能够像我编程的平面按钮一样工作。但是我真的没有主意了。尝试了不同的方法来调用或移动代码,但它就是不起作用。