mirror of
https://github.com/flutter/flutter.git
synced 2026-02-13 14:21:39 +08:00
## Rotation demo https://github.com/user-attachments/assets/b59d6875-dff7-4b40-9525-565dfd8a2554 ### Portrait mode .automatic https://github.com/user-attachments/assets/88f4f3a2-0f13-4c92-b601-20c20e13f7dc ### Landscape mode .automatic https://github.com/user-attachments/assets/dd5e2373-82e3-41fc-8e83-4002ce5e848e ### Portrait mode .always https://github.com/user-attachments/assets/623d131a-f71b-430d-b84c-0b4519919f56 ### Landscape mode .always https://github.com/user-attachments/assets/5980e8fe-a981-482d-9f77-97f9ab7495c7 Fixes [CupertinoSliverNavigationBar doesn't become compact in landscape mode](https://github.com/flutter/flutter/issues/39254) <details> <summary>Sample code</summary> ```dart import 'package:flutter/cupertino.dart'; void main() => runApp(const NavBarBlueApp()); class NavBarBlueApp extends StatelessWidget { const NavBarBlueApp({super.key}); @override Widget build(BuildContext context) { return CupertinoApp( theme: CupertinoThemeData(), home: MainPage(), ); } } class MainPage extends StatelessWidget { const MainPage({super.key}); @override Widget build(BuildContext context) { return CupertinoPageScaffold( child: SafeArea( child: CustomScrollView( slivers: [ CupertinoSliverNavigationBar.search( stretch: true, searchField: CupertinoSearchTextField( suffixMode: OverlayVisibilityMode.always, suffixIcon: Icon( CupertinoIcons.mic_solid, )), largeTitle: Text('Lists'), bottomMode: NavigationBarBottomMode.always, ), SliverList( delegate: SliverChildBuilderDelegate( (BuildContext context, int index) { return CupertinoListTile( title: Text('Entry $index'), ); }, childCount: 20, ), ), ], ), ), ); } } ``` </details>
Automated Flutter integration test suites
Each suite consists of either a complete Flutter app and a flutter_driver
specification that drives tests from the UI, or a native app that is meant to
integrate with Flutter for testing.
Intended for use with devicelab tests.
If you want to run a driver test locally, to debug a problem with a test, you can use this command from the appropriate subdirectory:
flutter drive -t <test> --driver <driver>
For example:
flutter drive -t lib/keyboard_resize.dart --driver test_driver/keyboard_resize_test.dart
New tests require new CI runner
Adding code to this directory will not automatically cause it to be run by any already existing ci tooling. This directory is intentinally a "choose your own adventure" piece of tooling.