Skip to content

Commit 4ecc5a9

Browse files
authored
Merge pull request #373 from AhmedLSayed9/fix_button_rect_calc
Fix ButtonRect calculation when inputDecoration.isDense is false
2 parents 9d8fe24 + b885a7c commit 4ecc5a9

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

packages/dropdown_button2/lib/src/dropdown_button2.dart

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -563,7 +563,17 @@ class _DropdownButton2State<T> extends State<DropdownButton2<T>> with WidgetsBin
563563
itemBox.localToGlobal(Offset.zero, ancestor: navigator.context.findRenderObject()) &
564564
itemBox.size;
565565

566-
return contentPadding.inflateRect(itemRect);
566+
final denseRect = contentPadding.inflateRect(itemRect);
567+
568+
if (widget._inputDecoration?.isDense == false) {
569+
final extraHeight = kMinInteractiveDimension - denseRect.height;
570+
if (extraHeight > 0) {
571+
return (contentPadding + EdgeInsets.symmetric(vertical: extraHeight / 2))
572+
.inflateRect(itemRect);
573+
}
574+
}
575+
576+
return denseRect;
567577
}
568578

569579
EdgeInsets? _getInputDecorationPadding() {

0 commit comments

Comments
 (0)