show static method
dynamic
show({
- required BuildContext context,
- required List<
AudioBandModel> bands, - required dynamic onChanged(),
- required double height,
- required bool enableEq,
- required dynamic onEqSwitchChanged(
- bool value
- required dynamic onReset(),
Implementation
static show({
required BuildContext context,
required List<AudioBandModel> bands,
required Function(int index, double gain) onChanged,
required double height,
required bool enableEq,
required Function(bool value) onEqSwitchChanged,
required Function() onReset,
}) {
bool _enableEq = enableEq;
List<AudioBandModel> _bands = bands;
showModalBottomSheet(
context: context,
builder: (BuildContext context) {
return StatefulBuilder(
builder: (context, setState) {
return SizedBox(
width: double.infinity,
height: height,
child: Column(
children: [
Container(
height: 50,
width: double.infinity,
padding: EdgeInsets.all(6),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Transform.scale(
scale: 0.7,
child: OutlinedButton(
onPressed: () {
onReset();
_bands.forEach((element) {
element.gain = 0;
});
setState(() {});
},
child: Text("reset"),
),
),
Transform.scale(
scale: 0.7,
child: Switch(
value: _enableEq,
onChanged: (value) {
onEqSwitchChanged(value);
setState(() {
_enableEq = value;
});
},
),
),
],
),
),
Expanded(
child: EqualizerView(
bands: _bands,
onChanged: (index, value) {
_bands[index].gain = value;
onChanged(index, value);
setState(() {});
},
),
),
SizedBox(height: 20),
],
),
);
},
);
},
);
}