Flutter中屏幕自适应(iPhone iPad Windows)

2023-11-15

flutter屏幕自适应

文章目录

  • flutter屏幕自适应
  • 适配手机和平板的重要性
  • 一、Sizer插件的使用
  • 二、使用步骤 
    • 1.准备工作
    • 2.正常使用的样式
    • 3.判断平台设备的样式
  • 总结


适配手机和平板的重要性

这是未进行屏幕适配的界面

这是进行了屏幕适配的界面


提示:以下是本篇文章正文内容,下面案例可供参考

一、Sizer插件的使用

1.通过网站 pub.dev 去查找sizer的最新依赖

2.再导入库中

二、使用例子

1.准备步骤

代码如下(示例):

import 'package:sizer/sizer.dart';//使用ResponsiveSizer包裹MaterialApp

Sizer(
      builder: (context, orientation, deviceType) {
        return MaterialApp();
      }
 )

2.正常使用的样式

代码如下(示例):

对于需要长和宽的组件

Container(
      width: 20.w,    //It will take a 20% of screen width
      height:30.h     //It will take a 30% of screen height
    )

对于需要定义icon大小和text的大小时

Text(
      'Sizer',style: TextStyle(fontSize: 15.sp),
    );
primaryIconTheme: IconThemeData(color: Colors.yellow, size: 10.sp),

3.判断设备的类型的方法

通过DeviceType来判断设备的类型来选择比例来实现自适应 


总结

一个flutter插件,可以轻松使Flutter应用程序响应。自动调整用户界面以适应不同的屏幕尺寸。响应性变得简单。

本人的实现效果:

 

参考:sizer | Flutter Package

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Flutter中屏幕自适应(iPhone iPad Windows) 的相关文章

  • Xcode 8 提交时“应用程序签名中缺少 aps 环境权利”

    我有一个应用程序 我们在过去 6 个月内提交了数十个版本 并且我们确实使用 APNS 升级到 Xcode 8 后 我收到了来自 Apple 的以下电子邮件 亲爱的开发者 我们发现您最近的交货存在一个或多个问题 应用程序名称 您的交货是 成功
  • SwiftUI 关闭多个模态表

    我在用 sheet isPresented self showModal 在我的根视图中呈现一个模式 在模态中 我正在使用NavigationView引导用户浏览各个页面 对于用户配置文件构建器 在导航堆栈的最后一页中 我正在使用 Envi
  • 在 Xcode 4.2 中启用崩溃日志符号

    我使用的是 Xcode 4 2 我的崩溃日志没有被符号化 如何在 Xcode 4 2 中启用此功能 请浏览苹果的文档 http developer apple com library ios technotes tn2151 index h
  • Android imageview 改变色调来模拟按钮点击

    我有一个图像视图 我在其中设置了从网址获取的位图 在 imageview 上 我设置了一个 onClickListener 来打开一个对话框 当按下图像视图时 我想以某种方式改变色调 使其更暗 以提供一种类似按钮点击的感觉 你有什么建议 h
  • 获取外部存储的权限(file_provider 插件)

    我在使用 flutter 获取 Android 设备上的外部存储权限时遇到一些问题 当我尝试在外部存储中创建目录时 出现此错误 我只是为此示例更改了目录 在我自己的项目中 目录名称不同 I flutter 12727 EXCEPTION C
  • 继承属性,从 readonly 继承的属性中读写时不会合成 setter

    我在使用属性时发现了一个奇怪的行为 该属性被继承为只读 然后在继承的类中重新声明为读写 In A h interface A NSObject property nonatomic strong readonly NSObject some
  • IOS - 如何创建具有模糊背景的 Facebook 反应栏?

    虽然这周可能不会复制 Facebook 的某些设计 但我希望能够设计我自己的下面的反应指示器视图版本 我有三个UIImageViews 排列在与上面相同的位置 问题是 与 Facebook 不同 背景颜色可能会改变 即位于UIBlurEff
  • 高度在 IOS (iphone) 上无法正常工作

    我已经创建了this https codepen io salman15 project live DWbWpo Codepen 上的网站 在尝试使其响应所有平台时 我遇到了问题 看起来单个 div 覆盖了整个页面 仅在 IOS 上 并且并
  • 使用 OCMock 以代码块作为参数的存根方法

    有没有一种方法可以存根方法 以块作为参数 例如方法 void reverseGeocodeLocation CLLocation location completionHandler CLGeocodeCompletionHandler c
  • android形状xml旋转可绘制以编程方式改变颜色

    这是三角形的 xml
  • 未从线程接收位置数据

    我尝试使用计时器经常发送包含用户位置的短信 最初 我遇到了空指针异常 这是由于我犯了一个简单的错误 一旦解决了这个问题 一切似乎都运行良好 但是 它永远不会获取我的位置 因此 不断发送的文本显示 无法接收位置 我想问的是为什么它无法获取我的
  • 无法从 ViewPager 中的 Fragment 编辑 ActionBar 标题

    我有一个Activity它通过一个托管多个片段ViewPager 在活动的onCreate方法我使用以下代码来更改ActionBar title Toolbar toolbar findViewById R id toolbar setSu
  • 从 AppDelegate 启动 ViewController

    我有一个自定义 URL 方案 我想打开某个ViewController当我访问此 URL 时 这不是根 我已经能够做到这一点 剩下的就是推动这一点ViewController进入navigationController来自AppDelega
  • AVAudioSessionPortBluetoothHFP、A2DP 和 LE 有什么区别?

    Apple 中记录了三种不同的蓝牙相关音频端口类型AVAudioSessionPort 描述 https developer apple com library ios documentation AVFoundation Referenc
  • 在 iOS 上保存(私人)应用程序设置?

    我知道NSUserDefaults用于保存 恢复user优先 什么是等效类应用 例如 应用程序可能有一个 上次运行 字段 或者它可能有一个用于在应用程序级别使用的设备的唯一标识的字段 我的目的是将应用程序的设置 而不是用户的设置 保留在设置
  • Android minSdkVersion 与 Flutter(v2.8.1)

    我已经安装了 firebase 包 据我们所知minSdkVersion 19被推荐 所以 我想做这个过程 但是 我看到这一行包含在android app build gradle file minSdkVersion flutter mi
  • Android Studio gradle 构建时间太长

    My 安卓工作室项目过去构建速度更快 但现在需要很长时间才能构建 有什么想法可能导致延误吗 我努力了https stackoverflow com a 27171878 391401 https stackoverflow com a 27
  • 将元素大小调整为屏幕宽度/高度的百分比

    是否有一种简单的 非 LayoutBuilder 方法来调整元素相对于屏幕尺寸 宽度 高度 的大小 例如 如何将 CardView 的宽度设置为屏幕宽度的 65 不能在里面完成build方法 显然 因此必须推迟到构建后 是否有一个首选的地方
  • 使用 Android 地图 v2 进行自由绘图

    我有一个地图应用程序 使用新的 v2 Google Maps API for Android 我想做的是允许用户在地图上沿着手指的路径画一条线 我知道我可能需要一个按钮来启用 禁用此功能 因为它显然需要禁用平移 缩放控件 一旦用户画了线 我
  • UITableViewHeader 的 UISearchBar 子视图?

    我想将 UISearchBar 添加到已有标题视图的 UITableView 中 当我尝试将搜索栏添加到现有标题视图时 它会一直工作 直到我点击它 此时我得到The view hierarchy is not prepared for th

随机推荐

  • Java基础(二):System.arraycopy()和Arrays.copyof()

    目录 1 Arrays copyOf 和 System arrayCopy 1 1 Arrays copyOf 1 2 System arrayCopy 1 3 区别 1 Arrays copyOf 和 System arrayCopy 1
  • java中用iterator去检查最大值,如何从Java 8中的Iterator获取n个第一个值?

    I have sorted a HashMap using Sort a Map by values Java to that I have a LinkedHashMap i e an Iterable which garantees i
  • maven 自定义archetype

    Maven提供了archetype帮助我们快速构建项目骨架 很便捷 但是 中央仓库中的archetype版本过于陈旧 构建好项目后 需要修改很多信息 甚是麻烦 那么如何自定义个archetype就显得很有必要 自定一个archetype须遵
  • numpy中的np.random.rand、np.random.randn、np.random.randint、np.random.uniform等用法

    随机数生成方法 1 np random rand d0 d1 dn np random rand d0 d1 dn 生成一个指定形状的 0 1 之间均匀分布的随机数数组 参数d0 d1 dn指定了生成的随机数数组的维度 import num
  • js光标事件

    JavaScript是基于对象 object based的语言 而基于对象的基本特征 就是采用事件驱动 event driven 它是在图形界面的环境下 使得一切输入变化简单化 通常鼠标或热键的动作我们称之为事件 Event 而由鼠标或热键
  • DNF管理软件包

    DNF是一款Linux软件包管理工具 用于管理RPM软件包 DNF可以查询软件包信息 从指定软件库获取软件包 自动处理依赖关系以安装或卸载软件包 以及更新系统到最新可用版本 DNF与YUM完全兼容 提供了YUM兼容的命令行以及为扩展和插件提
  • 【文心一言】如何申请获得体验资格,并简单使用它的强大功能

    目录 一 文心一言 1 1 它能做什么 1 2 技术特点 1 3 申请方法 二 功能体验 2 1 文心一言 2 2 写冒泡排序代码 测试代码 2 3 画一个爱心 2 4 画一个星空 三 申请和通过 3 1 申请时间 3 2 通过时间 文心一
  • 【MATLAB第2期】源码分享#基于LSTM时间序列单步预测,含验证和预测未来

    MATLAB第2期 源码分享 基于LSTM时间序列单步预测 含验证和预测未来 1 运行环境 matlab2020a cpu 2 数据说明 单列数据 2018 10 2018 12 共三个月 92个数据 3 数据处理 样本标准化处理 其中 前
  • 含重复点的蚁群算法

    背景 以论文 汉中市城市生活垃圾收运路线优化研究 为背景 共37个位置 一个是车库 一个是垃圾处理中心 剩下35个是垃圾收集站 每次都是垃圾搬运车从车库出发 经过7个垃圾收集站 运到到垃圾处理中心 重复5次 直到35个垃圾收集站的垃圾都收集
  • Stata字符串函数:快捷提取字符信息

    1 substr 函数的用法 语法 substr s n1 n2 a s为需要进行提取的字符串 b n1表示提取的起始位置 c 对于不同编码的文本 n2代表不同含义 对于纯ASCII编码的文本 n2表示要提取字符长度为n2的字符串 而对于其
  • webpack打包文件过大的优化,提取第三方库(vue,ali-oss)到cdn,externals配置

    问题产生原因 vue或用其他第三方库webpack打包导致某单文件js过大 优化形式 webpack的externals配置 从输出的 bundle 中排除依赖 可将第三方库放到html用cdn加载 类似 调试方式 可参考vue cli 脚
  • 访问时被windos防火墙阻止浏览器网页找不到解决方法 postman使用

    postman使用 网页下载postman安装 添加环境 点击右边齿轮状 选择add 输入网址前缀post get各不一样 访问时被windos防火墙阻止浏览器网页找不到解决方法 点击服务管理器仪表板右上方的工具 高级windos设置 出
  • java中char的类型范围,Java中基本类型占字节数以及Uint32的意思

    初学开发的时候 我的第一门语言是JAVA android方向 基本很少考虑java中基本类型的占用字节数 直到工作中接触到串口通讯 与单片机通讯 看着那些通讯文档 看着例如Uint16 Uint32 Uint64 Char 16 Char
  • 如何使用Windows命令关闭被占用的端口

    1 使用快捷键Windows R 打开运行 输入cmd 用管理员权限打开Windows 命令窗口 2 然后执行命令 netstat nao findstr 8080 此处已8080端口为例 小伙伴们若要关闭其他窗口 只需将此处8080更换为
  • Hive Sql 最强最完整学习笔记

    一 DDL语句 数据定义语句 对数据库的操作 包含创建 修改数据库 对数据表的操作 分为内部表及外部表 分区表和分桶表 二 DQL语句 数据查询语句 单表查询 关联查询 hive函数 包含聚合函数 条件函数 日期函数 字符串函数等 行转列及
  • 线程安全list_不安全的集合类学习子笔记

    list 不安全类是什么 不安全类是指在多线程并发的时候不能保证数据正确性的类 通常是由于这些类并没有加锁造成的 为什么不设计成加锁的 其实 在list之前有个集合类vector 它是内部加锁 它是一个线程安全类 不优先使用它的原因是加锁可
  • kali firefox gah. your tab just crashed. 更新Firefox

    kali firefox gah your tab just crashed we can help choose restore this tab to reload the page 这个问题我大概八月份的一个晚上也发生过当时是kali
  • Robotframework 之exe安装(二)

    Robotframework 之pip安装 一 Robotframework 之exe安装 二 Robotframework安装过程中错误解决方案 三 一 exe安装步骤 1 python 2 7 10 amd64 msi 2 安装Robo
  • R 语言 wordcloud 与 wordcloud2 包的安装及参数说明

    一 wordcloud安装说明 install packages wordcloud 二 wordcloud2安装说明 我在RStudio编辑器直接输入 if require devtools install packages devtoo
  • Flutter中屏幕自适应(iPhone iPad Windows)

    flutter屏幕自适应 文章目录 flutter屏幕自适应 适配手机和平板的重要性 一 Sizer插件的使用 二 使用步骤 1 准备工作 2 正常使用的样式 3 判断平台设备的样式 总结 适配手机和平板的重要性 这是未进行屏幕适配的界面