diff --git a/packages/flutter/lib/src/cupertino/button.dart b/packages/flutter/lib/src/cupertino/button.dart index 9773651fa79..c006f9fc357 100644 --- a/packages/flutter/lib/src/cupertino/button.dart +++ b/packages/flutter/lib/src/cupertino/button.dart @@ -110,11 +110,6 @@ class CupertinoButton extends StatefulWidget { /// Defaults to round corners of 8 logical pixels. final BorderRadius borderRadius; - /// The shape of the button. - /// - /// Defaults to a super ellipse with -// final ShapeBorder shape; - final bool _filled; /// Whether the button is enabled or disabled. Buttons are disabled by default. To diff --git a/packages/flutter/lib/src/material/text_field.dart b/packages/flutter/lib/src/material/text_field.dart index 198c92cdadd..6f01f6bf185 100644 --- a/packages/flutter/lib/src/material/text_field.dart +++ b/packages/flutter/lib/src/material/text_field.dart @@ -778,7 +778,7 @@ class _TextFieldState extends State with AutomaticKeepAliveClientMixi // // This value is in device pixels, not logical pixels as is typically used // throughout the codebase. - const int _iOSHorizontalOffset = 2; + const int _iOSHorizontalOffset = -2; cursorOffset = Offset(_iOSHorizontalOffset / MediaQuery.of(context).devicePixelRatio, 0); break; diff --git a/packages/flutter/test/material/text_field_test.dart b/packages/flutter/test/material/text_field_test.dart index 471d214c1e3..37f15c90a50 100644 --- a/packages/flutter/test/material/text_field_test.dart +++ b/packages/flutter/test/material/text_field_test.dart @@ -4326,14 +4326,14 @@ void main() { expect(lastCharEndpoint.length, 1); // The last character is now on screen. - expect(lastCharEndpoint[0].point.dx, moreOrLessEquals(797.3333129882812)); + expect(lastCharEndpoint[0].point.dx, moreOrLessEquals(798.6666870117188)); final List firstCharEndpoint = renderEditable.getEndpointsForSelection( const TextSelection.collapsed(offset: 0), // First character's position. ); expect(firstCharEndpoint.length, 1); // The first character is now offscreen to the left. - expect(firstCharEndpoint[0].point.dx, moreOrLessEquals(-258.66668701171875)); + expect(firstCharEndpoint[0].point.dx, moreOrLessEquals(-257.33331298828125)); }); testWidgets( diff --git a/packages/flutter/test/widgets/editable_text_cursor_test.dart b/packages/flutter/test/widgets/editable_text_cursor_test.dart index d2f7839d5de..946d6d2c386 100644 --- a/packages/flutter/test/widgets/editable_text_cursor_test.dart +++ b/packages/flutter/test/widgets/editable_text_cursor_test.dart @@ -512,7 +512,9 @@ void main() { expect(controller.selection.baseOffset, text.length); }); - testWidgets('Floating cursor is painted', (WidgetTester tester) async { + testWidgets('Floating cursor is painted on iOS', (WidgetTester tester) async { + final TextEditingController controller = TextEditingController(); + const TextStyle textStyle = TextStyle(); const String text = 'hello world this is fun and cool and awesome!'; controller.text = text; final FocusNode focusNode = FocusNode(); @@ -544,7 +546,7 @@ void main() { editableTextState.updateFloatingCursor( RawFloatingCursorPoint( state: FloatingCursorDragState.Update, - offset: const Offset(20, 20), + offset: const Offset(20, 20) ), ); await tester.pump(); @@ -552,41 +554,45 @@ void main() { expect(editable, paints ..rrect( rrect: RRect.fromRectAndRadius( - Rect.fromLTRB(464.6666564941406, 2.0833332538604736, 466.6666564941406, 14.083333015441895), - const Radius.circular(2.0), + Rect.fromLTRB(463.3333435058594, 2.0833332538604736, 465.3333435058594, 14.083333015441895), + const Radius.circular(2.0) ), - color: const Color(0xff8e8e93)) + color: const Color(0xff8e8e93), + ) ..rrect( rrect: RRect.fromRectAndRadius( - Rect.fromLTRB(465.1666564941406, 1.0833336114883423, 468.1666564941406, 15.083333969116211), + Rect.fromLTRB(463.8333435058594, 1.0833336114883423, 466.8333435058594, 15.083333969116211), const Radius.circular(1.0), ), - color: const Color(0xbf2196f3)) + color: const Color(0xbf2196f3), + ) ); // Moves the cursor right a few characters. editableTextState.updateFloatingCursor( - RawFloatingCursorPoint( - state: FloatingCursorDragState.Update, - offset: const Offset(-250, 20))); + RawFloatingCursorPoint( + state: FloatingCursorDragState.Update, + offset: const Offset(-250, 20) + ), + ); expect(find.byType(EditableText), paints ..rrect( rrect: RRect.fromRectAndRadius( - Rect.fromLTRB(192.6666717529297, 2.0833332538604736, 194.6666717529297, 14.083333015441895), - const Radius.circular(2.0), + Rect.fromLTRB(191.3333282470703, 2.0833332538604736, 193.3333282470703, 14.083333015441895), + const Radius.circular(2.0) ), - color: const Color(0xff8e8e93)) + color: const Color(0xff8e8e93) + ) ..rrect( rrect: RRect.fromRectAndRadius( - Rect.fromLTRB(195.16665649414062, 1.0833336114883423, 198.16665649414062, 15.083333969116211), - const Radius.circular(1.0), - ), - color: const Color(0xbf2196f3)) + Rect.fromLTRB(193.83334350585938, 1.0833336114883423, 196.83334350585938, 15.083333969116211), + const Radius.circular(1.0)), + color: const Color(0xbf2196f3), + ) ); editableTextState.updateFloatingCursor(RawFloatingCursorPoint(state: FloatingCursorDragState.End)); - await tester.pumpAndSettle(); }); }