// 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 [AnimatedSize]. void main() => runApp(const AnimatedSizeExampleApp()); class AnimatedSizeExampleApp extends StatelessWidget { const AnimatedSizeExampleApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar(title: const Text('AnimatedSize Sample')), body: const Center( child: AnimatedSizeExample(), ), ), ); } } class AnimatedSizeExample extends StatefulWidget { const AnimatedSizeExample({super.key}); @override State<AnimatedSizeExample> createState() => _AnimatedSizeExampleState(); } class _AnimatedSizeExampleState extends State<AnimatedSizeExample> { double _size = 50.0; bool _large = false; void _updateSize() { setState(() { _size = _large ? 250.0 : 100.0; _large = !_large; }); } @override Widget build(BuildContext context) { return GestureDetector( onTap: () => _updateSize(), child: ColoredBox( color: Colors.amberAccent, child: AnimatedSize( curve: Curves.easeIn, duration: const Duration(seconds: 1), child: FlutterLogo(size: _size), ), ), ); } }