Signed-off-by: dom <githubaccount56556@proton.me>
This commit is contained in:
dom
2026-07-21 22:14:38 +08:00
parent dae8df840a
commit 43843ca721
10 changed files with 204 additions and 217 deletions

View File

@@ -1330,14 +1330,14 @@ class HeaderControlState extends State<HeaderControl>
void updateFontScaleFS(double val) {
plPlayerController
..subtitleFontScaleFS = val
..subtitleFontScaleFS = val.toPrecision(2)
..updateSubtitleStyle();
setState(() {});
}
void updateFontScale(double val) {
plPlayerController
..subtitleFontScale = val
..subtitleFontScale = val.toPrecision(2)
..updateSubtitleStyle();
setState(() {});
}
@@ -1387,7 +1387,7 @@ class HeaderControlState extends State<HeaderControl>
min: 0.5,
max: 2.5,
value: subtitleFontScale,
divisions: 20,
divisions: 200,
label:
'${(subtitleFontScale * 100).toStringAsFixed(1)}%',
onChanged: updateFontScale,
@@ -1416,7 +1416,7 @@ class HeaderControlState extends State<HeaderControl>
min: 0.5,
max: 2.5,
value: subtitleFontScaleFS,
divisions: 20,
divisions: 200,
label:
'${(subtitleFontScaleFS * 100).toStringAsFixed(1)}%',
onChanged: updateFontScaleFS,
@@ -1530,7 +1530,9 @@ class HeaderControlState extends State<HeaderControl>
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text('背景不透明度 ${(subtitleBgOpacity * 100).toInt()}%'),
Text(
'背景不透明度 ${(subtitleBgOpacity * 100).toStringAsFixed(1)}%',
),
resetBtn(theme, '67%', () => updateOpacity(0.67)),
],
),
@@ -1546,6 +1548,7 @@ class HeaderControlState extends State<HeaderControl>
child: Slider(
min: 0,
max: 1,
divisions: 100,
value: subtitleBgOpacity,
onChanged: updateOpacity,
),

View File

@@ -108,7 +108,7 @@ mixin HeaderMixin<T extends StatefulWidget> on State<T> {
}
void updateFontSizeFS(double val) {
DanmakuOptions.danmakuFontScaleFS = val;
DanmakuOptions.danmakuFontScaleFS = val.toPrecision(2);
setState(() {});
if (isFullScreen) {
setOptions();
@@ -116,7 +116,7 @@ mixin HeaderMixin<T extends StatefulWidget> on State<T> {
}
void updateFontSize(double val) {
DanmakuOptions.danmakuFontScale = val;
DanmakuOptions.danmakuFontScale = val.toPrecision(2);
setState(() {});
if (!isFullScreen) {
setOptions();
@@ -136,7 +136,7 @@ mixin HeaderMixin<T extends StatefulWidget> on State<T> {
}
void updateOpacity(double val) {
plPlayerController.danmakuOpacity.value = val;
plPlayerController.danmakuOpacity.value = val.toPrecision(2);
setState(() {});
}
@@ -286,7 +286,9 @@ mixin HeaderMixin<T extends StatefulWidget> on State<T> {
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text('显示区域 ${DanmakuOptions.danmakuShowArea * 100}%'),
Text(
'显示区域 ${(DanmakuOptions.danmakuShowArea * 100).toStringAsFixed(1)}%',
),
resetBtn(theme, '50.0%', () => updateShowArea(0.5)),
],
),
@@ -312,7 +314,9 @@ mixin HeaderMixin<T extends StatefulWidget> on State<T> {
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text('不透明度 ${plPlayerController.danmakuOpacity * 100}%'),
Text(
'不透明度 ${(plPlayerController.danmakuOpacity * 100).toStringAsFixed(1)}%',
),
resetBtn(theme, '100.0%', () => updateOpacity(1.0)),
],
),
@@ -330,7 +334,8 @@ mixin HeaderMixin<T extends StatefulWidget> on State<T> {
max: 1,
value: plPlayerController.danmakuOpacity.value,
divisions: 100,
label: '${plPlayerController.danmakuOpacity * 100}%',
label:
'${(plPlayerController.danmakuOpacity * 100).toStringAsFixed(1)}%',
onChanged: updateOpacity,
),
),
@@ -384,8 +389,7 @@ mixin HeaderMixin<T extends StatefulWidget> on State<T> {
max: 5,
value: DanmakuOptions.danmakuStrokeWidth,
divisions: 10,
label: DanmakuOptions.danmakuStrokeWidth
.toStringAsFixed(0),
label: DanmakuOptions.danmakuStrokeWidth.toString(),
onChanged: updateStrokeWidth,
),
),