flutter字体大小切换案例 小字体,标准字体,大字体,超大字体案例

devtools/2024/11/18 8:48:25/

flutter字体大小切换案例 小字体,标准字体,大字体,超大字体案例

Android iOS设备带有选择记录

我的flutter项目版本
environment:
sdk: ‘>=3.4.4 <4.0.0’

图片案例

在这里插入图片描述
在这里插入图片描述

pubspec.yaml 添加依赖

  # 屏幕尺寸适配 https://github.com/OpenFlutter/flutter_screenutilflutter_screenutil: ^5.9.3# 状态管理 https://github.com/rrousselGit/providerprovider: ^6.1.2# 本地存储 官方插件 https://github.com/flutter/pluginsshared_preferences: ^2.2.3

代码案例

import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:provider/provider.dart';void main() async {await ScreenUtil.ensureScreenSize(); // 确保屏幕大小被正确设置runApp(MyApp());
}class MyApp extends StatelessWidget {@overrideWidget build(BuildContext context) {return ScreenUtilInit(designSize: const Size(360, 690), // 设计稿尺寸builder: (_, child) => MaterialApp(home: ChangeNotifierProvider(create: (context) => FontSizeProvider(),child: HomeScreen(),),),);}
}class FontSizeProvider with ChangeNotifier {double _fontSize = 1.0; // 默认字体大小double get fontSize => _fontSize;Future<void> loadFontSize() async {final prefs = await SharedPreferences.getInstance();_fontSize = prefs.getDouble('fontSize') ?? 1.0;notifyListeners();}Future<void> saveFontSize(double size) async {final prefs = await SharedPreferences.getInstance();await prefs.setDouble('fontSize', size);_fontSize = size;notifyListeners();}
}class HomeScreen extends StatelessWidget {@overrideWidget build(BuildContext context) {//var fontSizeProvider = Provider.of<FontSizeProvider>(context, listen: false);var fontSizeProvider = Provider.of<FontSizeProvider>(context);fontSizeProvider.loadFontSize(); // 加载字体大小设置return Scaffold(appBar: AppBar(title: Text('字体大小切换',style: TextStyle(fontSize:15.sp * fontSizeProvider.fontSize, // 根据fontSizeProvider调整字体大小),),),body: Center(child: Column(mainAxisAlignment: MainAxisAlignment.center,children: <Widget>[Text('这是一段示例文本',style: TextStyle(fontSize: 15.sp *fontSizeProvider.fontSize, // 根据fontSizeProvider调整字体大小),),ElevatedButton(onPressed: () => fontSizeProvider.saveFontSize(0.8), // 小字体child: Text('小字体'),),ElevatedButton(onPressed: () => fontSizeProvider.saveFontSize(1.0), // 标准字体child: Text('标准字体'),),ElevatedButton(onPressed: () => fontSizeProvider.saveFontSize(1.2), // 大字体child: Text('大字体'),),ElevatedButton(onPressed: () => fontSizeProvider.saveFontSize(1.5), // 超大字体child: Text('超大字体'),),],),),);}
}

http://www.ppmy.cn/devtools/134917.html

相关文章

Argo workflow 拉取git 并使用pvc共享文件

文章目录 拉取 Git 仓库并读取文件使用 Kubernetes Persistent Volumes&#xff08;通过 volumeClaimTemplates&#xff09;以及任务之间如何共享数据 拉取 Git 仓库并读取文件 在 Argo Workflows 中&#xff0c;如果你想要一个任务拉取 Git 仓库中的文件&#xff0c;另一个任…

OpenCV自学系列(2)——核心操作(core operations)

OpenCV官网指导教程第二期&#xff0c;对应官网的 core operation。 主要包括三大类&#xff1a; 1、图像基本操作 2、图像的算术操作 3、&#xff08;代码&#xff09;表现的测量和提高 主要使用到的方法如下&#xff1a; cv2.cvtColor() cv2.split() cv2.merge() cv2.copy…

用paramiko与SSH交互

# 导入paramiko库用于SSH连接&#xff0c;以及sys库用于处理命令行参数 import paramiko import sys# 定义一个函数send_command&#xff0c;用于发送命令到SSH服务器并打印输出结果 def send_command(ssh_client, cmd):# 使用exec_command方法执行命令&#xff0c;并获取输入、…

前馈神经网络 (Feedforward Neural Network, FNN)

代码功能 网络定义&#xff1a; 使用 torch.nn 构建了一个简单的前馈神经网络。 隐藏层使用 ReLU 激活函数&#xff0c;输出层使用 Sigmoid 函数&#xff08;适用于二分类问题&#xff09;。 数据生成&#xff1a; 使用经典的 XOR 问题作为数据集。 数据点为二维输入&#xff…

苍穹外卖学习-day11

1. Apac 1.1 介绍 Apache ECharts 是一款基于 Javascript 的数据可视化图表库&#xff0c;提供直观&#xff0c;生动&#xff0c;可交互&#xff0c;可个性化定制的数据可视化图表。 官网地址&#xff1a;Apache ECharts 常见的统计图形有&#xff1a;柱状图&#xff0c;条形…

创建vue3项目步骤

脚手架创建项目&#xff1a; pnpm create vue Cd 项目名称安装依赖&#xff1a;Pnpm iPnpm Lint&#xff1a;修复所有文件风格 &#xff0c;不然eslint语法警告报错要双引号Pnpm dev启动项目 拦截错误代码提交到git仓库&#xff1a;提交前做代码检查 pnpm dlx husky-in…

【汇编语言】数据处理的两个基本问题 —— 汇编语言中的数据奥秘:数据位置与寻址方式总结

文章目录 前言1. 引言1.1 两个基本问题1.2 两个描述性符号 2. bx、si、di和bp2.1 通过"[...]"来寻址&#xff0c;只有这四种寄存器2.2 四种寄存器寻址时的组合方式2.3 使用bp时&#xff0c;默认段地址为ss 3.机器指令处理的数据在什么地方&#xff1f;4. 汇编语言中数…

【SQL】mysql常用命令

为方便查询&#xff0c;特整理MySQL常用命令。 约定&#xff1a;$后为Shell环境命令&#xff0c;>后为MySQL命令。 1 常用命令 第一步&#xff0c;连接数据库。 $ mysql -u root -p # 进入MySQL bin目录后执行&#xff0c;回车后输入密码连接。# 常用参数&…