Browse Source

修改设备设置

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