问题描述
我有一个用 Flutter 制作的钢琴项目,想添加一个开关,以便单击时会更改油漆的声音字体。
这是原始代码
class PianoSection extends StatefulWidget {
PianoSection({
Key key,this.controller,this.disableScroll = false,this.showLabels = true,this.labelsOnlyOctaves = false,this.Feedback = false,this.keyWidth = _kDefaultKeyWidth,this.soundFontPath,this.isPiano,}) : super(key: key)
{
if (isPiano == false) {
sound_FontPath = 'assets/sounds/guitar Acoustic.sf2';}
else {
sound_FontPath = 'assets/sounds/Piano.sf2';
}
}
final ScrollController controller;
final bool disableScroll,labelsOnlyOctaves,showLabels,Feedback,isPiano;
final double keyWidth;
final String soundFontPath;
@override
_PianoSectionState createState() => _PianoSectionState();
}
在设置文件中:
ListTile(
title: Text("guitar"),trailing: Switch(
value: state.settings.isPiano,onChanged: (bool value) {
BlocProvider.of<SettingsBloc>(context).add(
ChangeSettings(state.settings..isPiano = value));
})),
在 chanegSetting 文件中:
import 'package:Meta/Meta.dart';
import 'settings.dart';
@immutable
abstract class SettingsEvent {}
class ChangeSettings extends SettingsEvent {
ChangeSettings(this.settings);
final Settings settings;
}
class CheckSettings extends SettingsEvent {}
你能告诉我如何添加这个功能吗? 添加此功能之前的原始代码可以在here:
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)