【发布时间】:2022-01-18 23:16:17
【问题描述】:
我创建了一个名为 Size 的类
- 类名:大小
输入代码
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)),
],
);
}
}
上面的代码用于调整文本的字体大小。我想在不同的其他类上使用它,例如名为 SizeCheck 的类。
-
类名:SizeCheck
输入代码
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'),
],
),
],
),
);
}
}
当我按下按钮时,文本大小不会立即改变 img when i press the button ,但是当我热重载模拟器时它可以工作。 img after hot reload the emulator 我正在使用颤振 v2.5。
【问题讨论】:
标签: flutter class constructor widget statefulwidget