Unverified Commit 4becae25 authored by Michael Goderbauer's avatar Michael Goderbauer Committed by GitHub

Revert "Add `SingleChildScrollView` for `NavigationRail`" (#143097)

Reverts flutter/flutter#137415

Reverting due to https://github.com/flutter/flutter/issues/143061. this is breaking some existing use cases, see also https://github.com/flutter/samples/pull/2157. If we try this again, we need to add this in less breaking way.

Fixes https://github.com/flutter/flutter/issues/143061
parent 120a01cc
......@@ -439,7 +439,6 @@ class _NavigationRailState extends State<NavigationRail> with TickerProviderStat
Expanded(
child: Align(
alignment: Alignment(0, groupAlignment),
child: SingleChildScrollView(
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
......@@ -476,7 +475,6 @@ class _NavigationRailState extends State<NavigationRail> with TickerProviderStat
),
),
),
),
],
),
),
......
......@@ -3605,62 +3605,6 @@ void main() {
expect(inkFeatures, paints..circle(color: Colors.transparent));
}, skip: kIsWeb && !isCanvasKit); // https://github.com/flutter/flutter/issues/99933
testWidgets('NavigationRail can scroll in low height', (WidgetTester tester) async {
// This is a regression test for https://github.com/flutter/flutter/issues/89167.
await tester.pumpWidget(
MaterialApp(
theme: ThemeData(
useMaterial3: true,
),
home: Builder(
builder: (BuildContext context) {
return MediaQuery(
// Set Screen height with 300
data: MediaQuery.of(context).copyWith(size: const Size(800, 300)),
child: Scaffold(
body: Row(
children: <Widget>[
// Set NavigationRail height with 100
SizedBox(
height: 100,
child: NavigationRail(
selectedIndex: 0,
destinations: const <NavigationRailDestination>[
NavigationRailDestination(
icon: Icon(Icons.favorite_border),
selectedIcon: Icon(Icons.favorite),
label: Text('Abc'),
),
NavigationRailDestination(
icon: Icon(Icons.bookmark_border),
selectedIcon: Icon(Icons.bookmark),
label: Text('Def'),
),
NavigationRailDestination(
icon: Icon(Icons.star_border),
selectedIcon: Icon(Icons.star),
label: Text('Ghi'),
),
],
),
),
const Expanded(
child: Text('body'),
),
],
),
),
);
},
),
),
);
final ScrollableState scrollable = tester.state(find.byType(Scrollable));
scrollable.position.jumpTo(500.0);
expect(scrollable.position.pixels, equals(500.0));
});
group('Material 2', () {
// These tests are only relevant for Material 2. Once Material 2
// support is deprecated and the APIs are removed, these tests
......@@ -5489,11 +5433,10 @@ TestSemantics _expectedSemantics() {
flags: <SemanticsFlag>[SemanticsFlag.scopesRoute],
children: <TestSemantics>[
TestSemantics(
flags: <SemanticsFlag>[SemanticsFlag.hasImplicitScrolling],
children: <TestSemantics>[
TestSemantics(
flags: <SemanticsFlag>[SemanticsFlag.isSelected,
SemanticsFlag.isFocusable],
flags: <SemanticsFlag>[
SemanticsFlag.isSelected,
SemanticsFlag.isFocusable,
],
actions: <SemanticsAction>[SemanticsAction.tap],
label: 'Abc\nTab 1 of 4',
textDirection: TextDirection.ltr,
......@@ -5516,8 +5459,6 @@ TestSemantics _expectedSemantics() {
label: 'Jkl\nTab 4 of 4',
textDirection: TextDirection.ltr,
),
],
),
TestSemantics(
label: 'body',
textDirection: TextDirection.ltr,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment