Browse Source

修改设备设置

newdev_shunjiawei
tanlongsheng 11 months ago
parent
commit
94ee2a51c4
  1. 11
      lib/modules/eq_settings/controllers/eq_settings_controller.dart
  2. 61
      lib/modules/eq_settings/views/widgets/row_switch_widget.dart

11
lib/modules/eq_settings/controllers/eq_settings_controller.dart

@ -6,6 +6,7 @@ import '../../../routes/app_routes.dart';
import '../views/widgets/row_confirm_widget.dart';
import '../views/widgets/row_input_widget.dart';
import '../views/widgets/row_radio_widget.dart';
import '../views/widgets/row_switch_widget.dart';
class EqSettingsController extends GetxController {
final RxList uiList = [
@ -35,6 +36,7 @@ class EqSettingsController extends GetxController {
'options': [
{'label': '游戏模式', 'value': '1'},
{'label': '娱乐模式', 'value': '2'},
{'label': '睡眠模式', 'value': '3'},
],
'onCallback': (String value) {
Logger.d('radio', '工作模式:$value');
@ -44,14 +46,18 @@ class EqSettingsController extends GetxController {
'type': 'switch',
'name': '闪灯开关',
'value': false,
'onCallback': () {},
'onCallback': (bool value) {
Logger.d('switch', '闪灯开关:$value');
},
},
{
'type': 'switch',
'name': '查找设备',
'value': false,
'description': '在设备上播放声音',
'onCallback': () {},
'onCallback': (bool value) {
Logger.d('switch', '查找设备:$value');
},
},
],
},
@ -86,6 +92,7 @@ class EqSettingsController extends GetxController {
return switch (data['type']) {
'input' => RowInputWidget(data),
'radio' => RowRadioWidget(data),
'switch' => RowSwitchWidget(data),
'confirm' => RowConfirmWidget(data),
_ => const SizedBox.shrink(),
};

61
lib/modules/eq_settings/views/widgets/row_switch_widget.dart

@ -0,0 +1,61 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
class RowSwitchWidget extends StatefulWidget {
final Map templateData;
const RowSwitchWidget(this.templateData, {super.key});
@override
State<RowSwitchWidget> createState() => _RowSwitchWidgetState();
}
class _RowSwitchWidgetState extends State<RowSwitchWidget> {
Map get _templateData => widget.templateData;
@override
Widget build(BuildContext context) {
final isDarkMode = Theme.of(context).brightness == Brightness.dark;
return Padding(
padding: EdgeInsets.fromLTRB(10.w, 10.w, 0, 10.w),
child: Row(
children: [
Expanded(
child: Text(
_templateData['name'],
style: TextStyle(
fontSize: 14.sp,
color: isDarkMode ? Colors.white : Colors.black,
),
),
),
if (_templateData['description'] != null)
Text(
_templateData['description'],
style: TextStyle(
fontSize: 12.sp,
color: isDarkMode ? Colors.white : Colors.grey,
),
),
SizedBox(
height: 26.w,
child: Transform.scale(
scale: 0.8,
alignment: Alignment.centerRight,
child: Switch(
value: _templateData['value'],
onChanged: (bool value) {
setState(() {
_templateData['value'] = value;
});
_templateData['onCallback'](value);
},
),
),
),
],
),
);
}
}
Loading…
Cancel
Save