mirror of
https://github.com/flutter/flutter
synced 2024-10-13 11:42:54 +00:00
Prevent text from overflowing in OutlineButton and OutlinedButton label. (#70872)
This commit is contained in:
parent
29d33cc38e
commit
7a0e3a309f
|
@ -310,7 +310,7 @@ class _OutlineButtonWithIcon extends OutlineButton with MaterialButtonWithIconMi
|
|||
children: <Widget>[
|
||||
icon,
|
||||
const SizedBox(width: 8.0),
|
||||
label,
|
||||
Flexible(child: label),
|
||||
],
|
||||
),
|
||||
);
|
||||
|
|
|
@ -345,7 +345,7 @@ class _OutlinedButtonWithIconChild extends StatelessWidget {
|
|||
final double gap = scale <= 1 ? 8 : lerpDouble(8, 4, math.min(scale - 1, 1))!;
|
||||
return Row(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: <Widget>[icon, SizedBox(width: gap), label],
|
||||
children: <Widget>[icon, SizedBox(width: gap), Flexible(child: label)],
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1222,6 +1222,22 @@ void main() {
|
|||
expect(box.size, equals(const Size(76, 36)));
|
||||
expect(childRect, equals(const Rect.fromLTRB(372.0, 293.0, 428.0, 307.0)));
|
||||
});
|
||||
|
||||
testWidgets('Text does not overflow in OutlineButton label', (WidgetTester tester) async {
|
||||
await tester.pumpWidget(
|
||||
Directionality(
|
||||
textDirection: TextDirection.ltr,
|
||||
child: MouseRegion(
|
||||
cursor: SystemMouseCursors.forbidden,
|
||||
child: OutlineButton.icon(
|
||||
icon: const Icon(Icons.add),
|
||||
label: const Text('this is a very long text used to check whether an overflow occurs or not'),
|
||||
onPressed: () {},
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
PhysicalModelLayer _findPhysicalLayer(Element element) {
|
||||
|
|
|
@ -1212,6 +1212,22 @@ void main() {
|
|||
);
|
||||
expect(paddingWidget.padding, const EdgeInsets.all(22));
|
||||
});
|
||||
|
||||
testWidgets('Text does not overflow in OutlinedButton label', (WidgetTester tester) async {
|
||||
await tester.pumpWidget(
|
||||
Directionality(
|
||||
textDirection: TextDirection.ltr,
|
||||
child: MouseRegion(
|
||||
cursor: SystemMouseCursors.forbidden,
|
||||
child: OutlinedButton.icon(
|
||||
icon: const Icon(Icons.add),
|
||||
label: const Text('this is a very long text used to check whether an overflow occurs or not'),
|
||||
onPressed: () {},
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
PhysicalModelLayer _findPhysicalLayer(Element element) {
|
||||
|
|
Loading…
Reference in a new issue