flutter: settings: Add Animation duration setting (Not used)

This commit is contained in:
Calcitem 2021-05-30 02:14:25 +08:00
parent 3d9b6689bc
commit f32e9eb20c
5 changed files with 49 additions and 0 deletions

View File

@ -51,6 +51,7 @@ class Config {
static double boardInnerLineWidth = 2.0;
static double pieceWidth = 0.9;
static double boardTop = 36.0;
static double animationDuration = 0.0;
// Color
static int boardLineColor = AppTheme.boardLineColor.value;
@ -107,6 +108,7 @@ class Config {
Config.boardInnerLineWidth = settings['BoardInnerLineWidth'] ?? 2;
Config.pieceWidth = settings['PieceWidth'] ?? 0.9;
Config.boardTop = settings['BoardTop'] ?? 36;
Config.animationDuration = settings['AnimationDuration'] ?? 0;
// Color
Config.boardLineColor =
@ -178,6 +180,7 @@ class Config {
settings['BoardInnerLineWidth'] = Config.boardInnerLineWidth;
settings['PieceWidth'] = Config.pieceWidth;
settings['BoardTop'] = Config.boardTop;
settings['AnimationDuration'] = Config.animationDuration;
// Color
settings['BoardLineColor'] = Config.boardLineColor;

View File

@ -804,6 +804,10 @@
"@animationSpeed": {
"description": "Animation speed"
},
"animationDuration": "Animationsdauer",
"@animationDuration": {
"description": "Animation duration"
},
"slow": "Langsam",
"@slow": {
"description": "Slow"

View File

@ -804,6 +804,10 @@
"@animationSpeed": {
"description": "Animation speed"
},
"animationDuration": "Animation duration",
"@animationDuration": {
"description": "Animation duration"
},
"slow": "Slow",
"@slow": {
"description": "Slow"

View File

@ -201,6 +201,7 @@
"crackMill_Detail": "若对方所有的子都在三连中, 也不允许吃子。",
"haveFunPlaying": "祝您玩得愉快!",
"animationSpeed": "动画速度",
"animationDuration": "动画持续时长",
"slow": "慢速",
"medium": "中速",
"fast": "快速",

View File

@ -233,6 +233,37 @@ class _PersonalizationSettingsPageState
);
}
SliderTheme _animationDurationSliderTheme(context, setState) {
return SliderTheme(
data: AppTheme.sliderThemeData,
child: Slider(
value: Config.animationDuration.toDouble(),
min: 0.0,
max: 5.0,
divisions: 50,
label: Config.animationDuration.toStringAsFixed(1),
onChanged: (value) {
setState(() {
print("[config] AnimationDuration value: $value");
Config.animationDuration = value;
Config.save();
});
},
),
);
}
setAnimationDuration() async {
showModalBottomSheet(
context: context,
builder: (BuildContext context) => StatefulBuilder(
builder: (context, setState) {
return _animationDurationSliderTheme(context, setState);
},
),
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
@ -294,6 +325,12 @@ class _PersonalizationSettingsPageState
onTap: setBoardTop,
),
ListItemDivider(),
SettingsListTile(
context: context,
titleString: S.of(context).animationDuration,
onTap: setAnimationDuration,
),
ListItemDivider(),
SettingsSwitchListTile(
context: context,
value: Config.standardNotationEnabled,