flutter - 用于颤振的 Dart 函数,将 FlatButton 替换为 TextButton
问题描述
如何在保留相同功能的同时将 FlatButton 替换为 TextButton?
我需要知道在 TextButton 的 Expanded buildKey({Color color, int soundNumber}) 中放入什么,因为 color: color,不适用于 TextButton
import 'package:flutter/material.dart';
import 'package:audioplayers/audioplayers.dart';
void main() => runApp(XylophoneApp());
class XylophoneApp extends StatelessWidget {
void playSound(int soundNumber) {
final player = AudioCache();
player.play('note$soundNumber.wav');
}
Expanded buildKey({Color color, int soundNumber}) {
return Expanded(
child: FlatButton(
color: color,
onPressed: () {
playSound(soundNumber);
},
),
);
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
backgroundColor: Colors.black,
body: SafeArea(
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
buildKey(color: Colors.red, soundNumber: 1),
buildKey(color: Colors.orange, soundNumber: 2),
buildKey(color: Colors.yellow, soundNumber: 3),
buildKey(color: Colors.green, soundNumber: 4),
buildKey(color: Colors.teal, soundNumber: 5),
buildKey(color: Colors.blue, soundNumber: 6),
buildKey(color: Colors.purple, soundNumber: 7),
],
),
),
),
);
}
}
解决方案
请试试这个
Expanded buildKey({Color color, int soundNumber}) {
return Expanded(
child: TextButton(
onPressed: () {
playSound(soundNumber);
},
style: ButtonStyle(backgroundColor: MaterialStateProperty.all(color)),
child: Text('Button Name'),
),
);
}
推荐阅读
- regex - 使用 google sheet 或 excel 公式从字符串中删除除数字和字母之外的所有内容
- typescript - Ant design Table dataIndex不适用于搜索选项时
- javascript - 触发一次后事件不会重新触发?
- flutter - NeverScrollableScrollPhysics() 无法正常工作,需要有关选项卡填充/边距的建议
- python - Cloudwatch 警报,用于将 Aurora 数据自动转储到 S3 存储桶
- python - Python 无法在 Raspberry Pi 上编译
- python - 从用户获取输入并将其粘贴到命令提示符 | Python
- git - Linux 上的多个 github 帐户 - 无法推送到远程,但可以拉取
- javascript - 每当我加载我的项目时,它都会显示未定义的索引错误?
- python - Flask 应用程序 Heroku 错误应用程序崩溃 Windows