AnimatedDefaultTextStyle Widget
Project Preview
- Interested in seeing the live demo? Click here to explore.
- Want to view the source code? Visit the project on GitHub.
Code Snippet
import 'package:flutter/material.dart';
class AnimatedDefaultTextStyleWidget extends StatefulWidget {
const AnimatedDefaultTextStyleWidget({super.key});
@override
State<AnimatedDefaultTextStyleWidget> createState() =>
_AnimatedDefaultTextStyleWidgetState();
}
class _AnimatedDefaultTextStyleWidgetState
extends State<AnimatedDefaultTextStyleWidget> {
bool _first = true;
double _fontSize = 60;
Color _color = Colors.blue;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text("AnimatedDefaultTextStyle Widget"),
),
body: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
SizedBox(
height: 120,
child: AnimatedDefaultTextStyle(
style: TextStyle(
fontSize: _fontSize,
color: _color,
fontWeight: FontWeight.bold,
),
duration: const Duration(milliseconds: 300),
child: const Text('Flutter'),
),
),
TextButton(
onPressed: () {
setState(() {
_fontSize = _first ? 90 : 60;
_color = _first ? Colors.blue : Colors.red;
_first = !_first;
});
},
child: const Text(
'Switch',
),
)
],
),
);
}
}