custom player/max volume

Closes #2199
Closes #2358

Signed-off-by: dom <githubaccount56556@proton.me>
This commit is contained in:
dom
2026-06-08 17:28:32 +08:00
parent fe15024384
commit 90d79b236f
19 changed files with 293 additions and 143 deletions

View File

@@ -4,9 +4,9 @@ import 'package:flutter/material.dart';
class DualSliderDialog extends StatefulWidget {
final double value1;
final double value2;
final String title;
final String description1;
final String description2;
final Widget title;
final Widget description1;
final Widget description2;
final double min;
final double max;
final int? divisions;
@@ -45,7 +45,7 @@ class _DualSliderDialogState extends State<DualSliderDialog> {
@override
Widget build(BuildContext context) {
return AlertDialog(
title: Text(widget.title),
title: widget.title,
contentPadding: const EdgeInsets.only(
top: 20,
left: 8,
@@ -55,7 +55,7 @@ class _DualSliderDialogState extends State<DualSliderDialog> {
content: Column(
mainAxisSize: .min,
children: [
Text(widget.description1),
widget.description1,
Builder(
builder: (context) {
return Slider(
@@ -72,7 +72,7 @@ class _DualSliderDialogState extends State<DualSliderDialog> {
);
},
),
Text(widget.description2),
widget.description2,
Builder(
builder: (context) {
return Slider(

View File

@@ -35,7 +35,7 @@ class SelectDialog<T> extends StatelessWidget {
clipBehavior: Clip.hardEdge,
title: Text(title),
constraints: subtitleBuilder != null
? const BoxConstraints(maxWidth: 320, minWidth: 320)
? const BoxConstraints.tightFor(width: 320)
: null,
contentPadding: const EdgeInsets.symmetric(vertical: 12),
content: Material(

View File

@@ -2,14 +2,6 @@ import 'package:PiliPlus/utils/extension/num_ext.dart';
import 'package:flutter/material.dart';
class SliderDialog extends StatefulWidget {
final double value;
final String title;
final double min;
final double max;
final int? divisions;
final String suffix;
final int precise;
const SliderDialog({
super.key,
required this.value,
@@ -21,6 +13,14 @@ class SliderDialog extends StatefulWidget {
this.precise = 1,
});
final double value;
final Widget title;
final double min;
final double max;
final int? divisions;
final String suffix;
final int precise;
@override
State<SliderDialog> createState() => _SliderDialogState();
}
@@ -37,13 +37,8 @@ class _SliderDialogState extends State<SliderDialog> {
@override
Widget build(BuildContext context) {
return AlertDialog(
title: Text(widget.title),
contentPadding: const EdgeInsets.only(
top: 20,
left: 8,
right: 8,
bottom: 8,
),
title: widget.title,
contentPadding: const .only(top: 20, left: 8, right: 8, bottom: 8),
content: SizedBox(
height: 40,
child: Slider(