fixed iOS dropdown settings

This commit is contained in:
Myzel394 2022-08-25 11:36:21 +02:00
parent 85dd8b46b1
commit b7fa890448

View File

@ -1,4 +1,6 @@
import 'package:flutter/material.dart';
import 'package:flutter_platform_widgets/flutter_platform_widgets.dart';
import 'package:quid_faciam_hodie/widgets/cupertino_dropdown.dart';
import 'package:settings_ui/settings_ui.dart';
const IN_DURATION = Duration(seconds: 1);
@ -140,6 +142,30 @@ class SettingsDropdownTile<T> extends AbstractSettingsTile {
final Widget? leading;
final Widget? description;
Widget getCupertinoPicker() {
final items = values
.map(
(value) => DropdownMenuItem<T>(
value: value,
child: Text(textMapping[value]!),
),
)
.toList();
return CupertinoDropdownButton<T>(
itemExtent: 30,
onChanged: (value) {
if (value == null) {
return;
}
onUpdate(value);
},
value: value,
items: items,
);
}
const SettingsDropdownTile({
Key? key,
required this.title,
@ -154,6 +180,7 @@ class SettingsDropdownTile<T> extends AbstractSettingsTile {
@override
Widget build(BuildContext context) {
if (isMaterial(context)) {
return DropdownTile(
title: title,
values: values,
@ -164,5 +191,13 @@ class SettingsDropdownTile<T> extends AbstractSettingsTile {
leading: leading,
description: description,
);
} else {
return SettingsTile(
leading: title,
title: getCupertinoPicker(),
enabled: enabled,
description: description,
);
}
}
}