Skip to content

Commit 6791db4

Browse files
authored
Merge pull request #439 from AhmedLSayed9/revert-438-inherit_local_input_decoration_theme
Revert "Inherit local InputDecorationTheme (contentPadding, border, visualDensity) instead of only the global theme"
2 parents 80633c6 + 4653b22 commit 6791db4

2 files changed

Lines changed: 6 additions & 8 deletions

File tree

packages/dropdown_button2/CHANGELOG.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
- Re-lay out dropdown menu on ancestor scroll.
1010
- Add `barrierBlocksInteraction` to allow interaction with underlying widgets while the dropdown menu is open.
1111
- Properly dispose internal FocusNode when replaced by an external FocusNode.
12-
- Inherit local `InputDecorationTheme` (contentPadding, border, visualDensity) instead of only the global theme.
1312

1413
## 3.0.0
1514

packages/dropdown_button2/lib/src/dropdown_button2.dart

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -633,24 +633,23 @@ class _DropdownButton2State<T> extends State<DropdownButton2<T>> with WidgetsBin
633633
EdgeInsets? _getInputDecorationPadding() {
634634
// Return the contentPadding only if inputDecoration is defined.
635635
if (widget._inputDecoration case final decoration?) {
636-
final InputDecorationThemeData inputDecorationTheme = InputDecorationTheme.of(context);
636+
final ThemeData theme = Theme.of(context);
637637
final TextDirection? textDirection = Directionality.maybeOf(context);
638638

639639
final EdgeInsets? contentPadding =
640-
(decoration.contentPadding ?? inputDecorationTheme.contentPadding)?.resolve(
640+
(decoration.contentPadding ?? theme.inputDecorationTheme.contentPadding)?.resolve(
641641
textDirection,
642642
);
643643

644644
// InputDecorator adds gapPadding horizontally for OutlineInputBorder.
645-
final border = decoration.border ?? inputDecorationTheme.border;
645+
final border = decoration.border ?? theme.inputDecorationTheme.border;
646646
final double gapPadding = switch (border) {
647647
OutlineInputBorder(:final gapPadding) => gapPadding,
648648
_ => 0.0,
649649
};
650650

651-
final Offset densityOffset =
652-
(inputDecorationTheme.visualDensity ?? Theme.of(context).visualDensity)
653-
.baseSizeAdjustment;
651+
// Use inputDecorationTheme.visualDensity when added (https://github.com/flutter/flutter/issues/166201#issuecomment-2774622584)
652+
final Offset densityOffset = theme.visualDensity.baseSizeAdjustment;
654653

655654
return contentPadding?.copyWith(
656655
left: contentPadding.left + gapPadding,
@@ -1149,7 +1148,7 @@ class DropdownButtonFormField2<T> extends FormField<T> {
11491148
final _DropdownButtonFormField2State<T> state =
11501149
field as _DropdownButtonFormField2State<T>;
11511150
InputDecoration effectiveDecoration = (decoration ?? const InputDecoration())
1152-
.applyDefaults(InputDecorationTheme.of(field.context));
1151+
.applyDefaults(Theme.of(field.context).inputDecorationTheme);
11531152

11541153
final bool showSelectedItem =
11551154
items != null &&

0 commit comments

Comments
 (0)