// Copyright 2014 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'package:flutter/material.dart'; /// Flutter code sample for [SingleChildScrollView]. void main() => runApp(const SingleChildScrollViewExampleApp()); class SingleChildScrollViewExampleApp extends StatelessWidget { const SingleChildScrollViewExampleApp({super.key}); @override Widget build(BuildContext context) { return const MaterialApp(home: SingleChildScrollViewExample()); } } class SingleChildScrollViewExample extends StatelessWidget { const SingleChildScrollViewExample({super.key}); @override Widget build(BuildContext context) { return DefaultTextStyle( style: Theme.of(context).textTheme.bodyMedium!, child: LayoutBuilder( builder: (BuildContext context, BoxConstraints viewportConstraints) { return SingleChildScrollView( child: ConstrainedBox( constraints: BoxConstraints(minHeight: viewportConstraints.maxHeight), child: IntrinsicHeight( child: Column( children: [ Container( // A fixed-height child. color: const Color(0xffeeee00), // Yellow height: 120.0, alignment: Alignment.center, child: const Text('Fixed Height Content'), ), Expanded( // A flexible child that will grow to fit the viewport but // still be at least as big as necessary to fit its contents. child: Container( color: const Color(0xffee0000), // Red height: 120.0, alignment: Alignment.center, child: const Text('Flexible Content'), ), ), ], ), ), ), ); }, ), ); } }