diff --git a/packages/flutter/lib/src/material/constants.dart b/packages/flutter/lib/src/material/constants.dart index 5c8af11260..4940576bb6 100644 --- a/packages/flutter/lib/src/material/constants.dart +++ b/packages/flutter/lib/src/material/constants.dart @@ -29,7 +29,7 @@ const int kRadialReactionAlpha = 0x1F; const Duration kTabScrollDuration = Duration(milliseconds: 300); /// The horizontal padding included by [Tab]s. -const EdgeInsets kTabLabelPadding = EdgeInsets.symmetric(horizontal: 12.0); +const EdgeInsets kTabLabelPadding = EdgeInsets.symmetric(horizontal: 16.0); /// The padding added around material list items. const EdgeInsets kMaterialListPadding = EdgeInsets.symmetric(vertical: 8.0); diff --git a/packages/flutter/lib/src/material/tab_indicator.dart b/packages/flutter/lib/src/material/tab_indicator.dart index 75147d3b30..5f38a3dc4d 100644 --- a/packages/flutter/lib/src/material/tab_indicator.dart +++ b/packages/flutter/lib/src/material/tab_indicator.dart @@ -90,6 +90,7 @@ class _UnderlinePainter extends BoxPainter { final Rect rect = offset & configuration.size; final TextDirection textDirection = configuration.textDirection; final Rect indicator = _indicatorRectFor(rect, textDirection).deflate(borderSide.width / 2.0); - canvas.drawLine(indicator.bottomLeft, indicator.bottomRight, borderSide.toPaint()); + final Paint paint = borderSide.toPaint()..strokeCap = StrokeCap.square; + canvas.drawLine(indicator.bottomLeft, indicator.bottomRight, paint); } } diff --git a/packages/flutter/test/material/tabs_test.dart b/packages/flutter/test/material/tabs_test.dart index b6c555ba20..605e3b3c03 100644 --- a/packages/flutter/test/material/tabs_test.dart +++ b/packages/flutter/test/material/tabs_test.dart @@ -1277,8 +1277,8 @@ void main() { testWidgets('Overflowing RTL tab bar', (WidgetTester tester) async { final List tabs = new List.filled(100, // For convenience padded width of each tab will equal 100: - // 76 + kTabLabelPadding.horizontal(24) - new SizedBox(key: new UniqueKey(), width: 76.0, height: 40.0), + // 68 + kTabLabelPadding.horizontal(32) + new SizedBox(key: new UniqueKey(), width: 68.0, height: 40.0), ); final TabController controller = new TabController( @@ -1384,15 +1384,15 @@ void main() { actions: SemanticsAction.tap.index, flags: SemanticsFlag.isSelected.index, label: 'TAB #0\nTab 1 of 2', - rect: new Rect.fromLTRB(0.0, 0.0, 108.0, kTextTabBarHeight), + rect: new Rect.fromLTRB(0.0, 0.0, 116.0, kTextTabBarHeight), transform: new Matrix4.translationValues(0.0, 276.0, 0.0), ), new TestSemantics( id: 5, actions: SemanticsAction.tap.index, label: 'TAB #1\nTab 2 of 2', - rect: new Rect.fromLTRB(0.0, 0.0, 108.0, kTextTabBarHeight), - transform: new Matrix4.translationValues(108.0, 276.0, 0.0), + rect: new Rect.fromLTRB(0.0, 0.0, 116.0, kTextTabBarHeight), + transform: new Matrix4.translationValues(116.0, 276.0, 0.0), ), ] ) @@ -1647,15 +1647,15 @@ void main() { actions: SemanticsAction.tap.index, flags: SemanticsFlag.isSelected.index, label: 'Semantics override 0\nTab 1 of 2', - rect: new Rect.fromLTRB(0.0, 0.0, 108.0, kTextTabBarHeight), + rect: new Rect.fromLTRB(0.0, 0.0, 116.0, kTextTabBarHeight), transform: new Matrix4.translationValues(0.0, 276.0, 0.0), ), new TestSemantics( id: 5, actions: SemanticsAction.tap.index, label: 'Semantics override 1\nTab 2 of 2', - rect: new Rect.fromLTRB(0.0, 0.0, 108.0, kTextTabBarHeight), - transform: new Matrix4.translationValues(108.0, 276.0, 0.0), + rect: new Rect.fromLTRB(0.0, 0.0, 116.0, kTextTabBarHeight), + transform: new Matrix4.translationValues(116.0, 276.0, 0.0), ), ] )