mirror of
https://github.com/flutter/flutter
synced 2024-10-13 11:42:54 +00:00
This reverts commit 10a66b19d5
.
This commit is contained in:
parent
d15da04f4f
commit
48ba488d33
|
@ -1032,12 +1032,11 @@ class _RenderDecoration extends RenderBox {
|
|||
counterHeight,
|
||||
helperErrorHeight,
|
||||
);
|
||||
final Offset densityOffset = decoration.visualDensity.baseSizeAdjustment;
|
||||
boxToBaseline[input] = _layoutLineBox(
|
||||
input,
|
||||
boxConstraints.deflate(EdgeInsets.only(
|
||||
top: contentPadding.top + topHeight + densityOffset.dy / 2,
|
||||
bottom: contentPadding.bottom + bottomHeight + densityOffset.dy / 2,
|
||||
top: contentPadding.top + topHeight,
|
||||
bottom: contentPadding.bottom + bottomHeight,
|
||||
)).copyWith(
|
||||
minWidth: inputWidth,
|
||||
maxWidth: inputWidth,
|
||||
|
@ -1066,12 +1065,13 @@ class _RenderDecoration extends RenderBox {
|
|||
prefixHeight - boxToBaseline[prefix],
|
||||
suffixHeight - boxToBaseline[suffix],
|
||||
);
|
||||
final double fixBelowInput = fixBelowBaseline <= 0.0 ? 0.0 : math.max(
|
||||
final double fixBelowInput = math.max(
|
||||
0,
|
||||
fixBelowBaseline - (inputHeight - inputInternalBaseline),
|
||||
);
|
||||
|
||||
// Calculate the height of the input text container.
|
||||
final Offset densityOffset = decoration.visualDensity.baseSizeAdjustment;
|
||||
final double prefixIconHeight = prefixIcon == null ? 0 : prefixIcon.size.height;
|
||||
final double suffixIconHeight = suffixIcon == null ? 0 : suffixIcon.size.height;
|
||||
final double fixIconHeight = math.max(prefixIconHeight, suffixIconHeight);
|
||||
|
@ -1087,8 +1087,8 @@ class _RenderDecoration extends RenderBox {
|
|||
);
|
||||
final double minContainerHeight = decoration.isDense || decoration.isCollapsed || expands
|
||||
? 0.0
|
||||
: kMinInteractiveDimension;
|
||||
final double maxContainerHeight = boxConstraints.maxHeight - bottomHeight;
|
||||
: kMinInteractiveDimension + densityOffset.dy;
|
||||
final double maxContainerHeight = boxConstraints.maxHeight - bottomHeight + densityOffset.dy;
|
||||
final double containerHeight = expands
|
||||
? maxContainerHeight
|
||||
: math.min(math.max(contentHeight, minContainerHeight), maxContainerHeight);
|
||||
|
|
|
@ -4235,55 +4235,4 @@ void main() {
|
|||
expect(tester.getSize(find.text(labelText)).width, labelWidth);
|
||||
expect(getOpacity(tester, prefixText), 1.0);
|
||||
});
|
||||
|
||||
testWidgets('given enough space, constrained and unconstrained heights result in the same size widget', (WidgetTester tester) async {
|
||||
// Regression test for https://github.com/flutter/flutter/issues/65572
|
||||
final UniqueKey keyUnconstrained = UniqueKey();
|
||||
final UniqueKey keyConstrained = UniqueKey();
|
||||
|
||||
Widget getInputDecorator(VisualDensity visualDensity) {
|
||||
return MaterialApp(
|
||||
home: Material(
|
||||
child: Builder(
|
||||
builder: (BuildContext context) {
|
||||
return Theme(
|
||||
data: Theme.of(context).copyWith(visualDensity: visualDensity),
|
||||
child: Center(
|
||||
child: Row(
|
||||
children: <Widget>[
|
||||
SizedBox(
|
||||
width: 35.0,
|
||||
child: TextField(
|
||||
key: keyUnconstrained,
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
width: 35.0,
|
||||
// 48 is the height that this TextField would take when
|
||||
// laid out with no constraints.
|
||||
height: 48.0,
|
||||
child: TextField(
|
||||
key: keyConstrained,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
await tester.pumpWidget(getInputDecorator(VisualDensity.standard));
|
||||
final double constrainedHeight = tester.getSize(find.byKey(keyConstrained)).height;
|
||||
final double unConstrainedHeight = tester.getSize(find.byKey(keyUnconstrained)).height;
|
||||
expect(constrainedHeight, equals(unConstrainedHeight));
|
||||
|
||||
await tester.pumpWidget(getInputDecorator(VisualDensity.compact));
|
||||
final double constrainedHeightCompact = tester.getSize(find.byKey(keyConstrained)).height;
|
||||
final double unConstrainedHeightCompact = tester.getSize(find.byKey(keyUnconstrained)).height;
|
||||
expect(constrainedHeightCompact, equals(unConstrainedHeightCompact));
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue