Extend customization of `QuillFontSizeButton`

pull/1182/head
BambinoUA 2 years ago
parent 9316057b0f
commit d7f7b204e0
  1. 25
      lib/src/widgets/toolbar/quill_font_size_button.dart

@ -27,6 +27,9 @@ class QuillFontSizeButton extends StatefulWidget {
this.width, this.width,
this.initialValue, this.initialValue,
this.alignment, this.alignment,
this.labelOverflow = TextOverflow.visible,
this.itemHeight,
this.itemPadding,
Key? key, Key? key,
}) : assert(rawItemsMap.length > 0), }) : assert(rawItemsMap.length > 0),
super(key: key); super(key: key);
@ -49,6 +52,9 @@ class QuillFontSizeButton extends StatefulWidget {
final double? width; final double? width;
final String? initialValue; final String? initialValue;
final AlignmentGeometry? alignment; final AlignmentGeometry? alignment;
final TextOverflow labelOverflow;
final double? itemHeight;
final EdgeInsets? itemPadding;
@override @override
_QuillFontSizeButtonState createState() => _QuillFontSizeButtonState(); _QuillFontSizeButtonState createState() => _QuillFontSizeButtonState();
@ -148,6 +154,8 @@ class _QuillFontSizeButtonState extends State<QuillFontSizeButton> {
PopupMenuItem<String>( PopupMenuItem<String>(
key: ValueKey(fontSize.key), key: ValueKey(fontSize.key),
value: fontSize.value, value: fontSize.value,
height: widget.itemHeight ?? kMinInteractiveDimension,
padding: widget.itemPadding,
child: Text( child: Text(
fontSize.key.toString(), fontSize.key.toString(),
style: style:
@ -181,14 +189,17 @@ class _QuillFontSizeButtonState extends State<QuillFontSizeButton> {
alignment: widget.alignment ?? Alignment.center, alignment: widget.alignment ?? Alignment.center,
padding: widget.padding ?? const EdgeInsets.fromLTRB(10, 0, 0, 0), padding: widget.padding ?? const EdgeInsets.fromLTRB(10, 0, 0, 0),
child: Row( child: Row(
mainAxisSize: MainAxisSize.min, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
Text(_currentValue, Expanded(
style: widget.style ?? child: Text(_currentValue,
TextStyle( overflow: widget.labelOverflow,
fontSize: widget.iconSize / 1.15, style: widget.style ??
color: widget.iconTheme?.iconUnselectedColor ?? TextStyle(
theme.iconTheme.color)), fontSize: widget.iconSize / 1.15,
color: widget.iconTheme?.iconUnselectedColor ??
theme.iconTheme.color)),
),
const SizedBox(width: 3), const SizedBox(width: 3),
Icon(Icons.arrow_drop_down, Icon(Icons.arrow_drop_down,
size: widget.iconSize / 1.15, size: widget.iconSize / 1.15,

Loading…
Cancel
Save