I have create a class called Size
- Class name: Size
enter code
import 'package:flutter/material.dart';
import 'package:firstapp/pages/components/font.dart';
// ignore: must_be_immutable
class Size extends StatefulWidget {
double font = sizevar.fontSizeRatio;
double fontH = sizevar.fontSizeRatioH;
Size();
@override
_SizeState createState() => _SizeState();
}
class _SizeState extends State<Size> {
void initState() {
sizevar.fontSizeRatio = 25;
sizevar.fontSizeRatioH = 30;
super.initState();
}
_SizeState();
@override
Widget build(BuildContext context) {
return Row(
children: [
IconButton(
onPressed: () => setState(() {
sizevar.fontSizeRatio = sizevar.fontSizeRatio - 2;
}),
icon: Icon(Icons.remove_circle_outline, color: Colors.red),
),
IconButton(
onPressed: () => setState(() {
sizevar.fontSizeRatio = sizevar.fontSizeRatio + 2;
}),
icon: Icon(Icons.add_circle_outlined, color: Colors.red)),
],
);
}
}
the above code is used to resize the font of the text daynamically. I want to use it on different other class like a class named SizeCheck.
class name: SizeCheck
enter code
import 'package:firstapp/pages/components/body.dart';
import 'package:firstapp/pages/components/bodyTitle.dart';
import 'package:firstapp/pages/components/font.dart';
import 'package:firstapp/pages/components/size.dart';
import 'package:flutter/material.dart';
class SizeCheck extends StatefulWidget {
@override
State<SizeCheck> createState() => SizeCheckState();
}
class SizeCheckState extends State<SizeCheck> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Resize",
style: TextStyle(
fontSize: sizevar.fontSizeRatio,
)),
**actions: [Size()],**
),
body: ListView(
children: <Widget>[
Column(
children: [
BodyTitle("Title"),
ContentBody('how we resize the text'),
],
),
],
),
);
}
}
When I pressed the button the text size doesn't change immediately img when i press the button ,but when I hot reload the emulator it works. img after hot reload the emulator I am using flutter v2.5.