iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Flutter:屏幕适配
  • 629
分享到

Flutter:屏幕适配

flutter 2023-09-25 06:09:17 629人浏览 八月长安
摘要

Flutter_screenutil flutter_screenutil是一个用于在Flutter应用程序中进行屏幕适配的工具包。它旨在帮助开发者在不同屏幕尺寸和密度的设备上创建响应式的UI布局。

Flutter_screenutil

flutter_screenutil是一个用于在Flutter应用程序中进行屏幕适配的工具包。它旨在帮助开发者在不同屏幕尺寸和密度的设备上创建响应式的UI布局。

`flutter_screenutil``提供了一些用于处理尺寸和间距的方法,使得开发者可以根据设备的屏幕尺寸和密度来动态调整UI元素的大小和位置。它提供了以下功能:

  • 屏幕适配:flutter_screenutil可以根据设备的屏幕尺寸和密度,将设计稿上的尺寸转换为适合当前设备的实际尺寸。这样,无论是在小屏幕手机上还是在大屏幕平板电脑上运行应用,UI元素都能正确地适配屏幕。

  • 尺寸适配:flutter_screenutil提供了setWidth()setHeight()方法,通过传入设计稿上的尺寸,可以根据设备的屏幕宽度进行动态调整,返回适配后的实际宽度。

  • 字体适配:flutter_screenutil提供了setSp()方法,可以根据设备的屏幕密度进行字体大小的适配。通过传入设计稿上的字体大小,可以根据当前设备的屏幕密度动态调整字体大小。

官方文档
https://pub-web.flutter-io.cn/packages/flutter_screenutil

安装

flutter pub add flutter_screenutil

原理

UI 设计的时候一般会按照一个固定的尺寸进行设计,如 360 x 690 ,实际设备分辨率可能是 Google Pixel: 1080 x 1920 等。开发时如果直接按照设计图写死数值则会出现最后实现的效果跟设计效果不一致的情况。这个时候就可以用比例的方式来进行适配。

将设计图分为固定单位并给这个单位定义一个标识,例如就叫 w,然后通过获取设备分辨率,使用设备真实宽度除以设计图宽度 ,就得到了 1w 代表的真实宽度:

1w = 设备真实宽度 / 设计图宽度

如设计图尺寸是 360 x 690 ,则宽度为 360w ,真实设备宽度为 1080 则 1w = 1080 / 360 = 3

示例

class MyApp extends StatelessWidget {  const MyApp({super.key});  // This widget is the root of your application.    Widget build(BuildContext context) {    return ScreenUtilInit(      // 设计尺寸      designSize: const Size(360, 690),      // 是否根据最小宽度和高度调整文本      minTextAdapt: true,      builder: (context, child) {        return MaterialApp(          title: 'Flutter Demo',          theme: ThemeData(            colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),            useMaterial3: true,          ),          home: child,        );      },      child: const MyHomePage(title: '适配'),    );  }}class MyHomePage extends StatefulWidget {  const MyHomePage({super.key, required this.title});  final String title;    State<MyHomePage> createState() => _MyHomePageState();}class _MyHomePageState extends State<MyHomePage> {    Widget build(BuildContext context) {    return Scaffold(      appBar: AppBar(        backgroundColor: Theme.of(context).colorScheme.inversePrimary,        title: Text(widget.title),      ),      body: Column(        children: [          Container(            width: 200,            height: 200,            color: Colors.red,            child: const Text(              "适配后的的尺寸",              style: TextStyle(fontSize: 20, color: Colors.white),            ),          ),          const SizedBox(            height: 20,          ),          Container(            width: ScreenUtil().setWidth(200),            height: ScreenUtil().setWidth(200),            color: Colors.blue,            child: Text(              "适配后的的尺寸",              style: TextStyle(                  fontSize: ScreenUtil().setSp(20), color: Colors.white),            ),          ),        ],      ),    );  }}

在这里插入图片描述

常用方法

ScreenUtil().setWidth(540)  //根据屏幕宽度适配尺寸ScreenUtil().setHeight(200) //根据屏幕高度适配尺寸(一般根据宽度适配即可)ScreenUtil().radius(200)    //根据宽度或高度中的较小者进行调整ScreenUtil().setSp(24)      //字体大小适配

为了方便使用,还支持简写

ScreenUtil().setWidth(540)  =>  540.hScreenUtil().setHeight(200) =>  200.wScreenUtil().radius(200)    =>  200.rScreenUtil().setSp(24)      =>  24.sp

注意:
一般情况下 1.w != 1.h ,除非刚好屏幕分辨率比例与设计图比例一致,所以如果要设置正方形,切记使用相同的单位,如都设置相同的 w 或者 h ,否则可能显示为长方形。

来源地址:https://blog.csdn.net/weixin_41897680/article/details/132180570

--结束END--

本文标题: Flutter:屏幕适配

本文链接: https://www.lsjlt.com/news/417185.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Flutter:屏幕适配
    flutter_screenutil flutter_screenutil是一个用于在Flutter应用程序中进行屏幕适配的工具包。它旨在帮助开发者在不同屏幕尺寸和密度的设备上创建响应式的UI布局。 ...
    99+
    2023-09-25
    flutter
  • Flutter应用框架搭建屏幕适配的方法
    本篇内容主要讲解“Flutter应用框架搭建屏幕适配的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Flutter应用框架搭建屏幕适配的方法”吧!因移动设备的多样性,特别是 Android ...
    99+
    2023-06-29
  • Flutter应用框架搭建之屏幕适配详解
    目录原理flutter_screenutil添加依赖初始化使用效果其他 Api因移动设备的多样性,特别是 Android 的碎片化严重,存在各种各样的分辨率,而 Flutter 跨平...
    99+
    2024-04-02
  • uniapp怎么自适配屏幕
    uniapp具备可跨平台开发的优势,让开发者可以通过一套代码轻松创建多平台应用。其中,自适应不同屏幕尺寸是确保应用用户体验的重要因素之一。本文将介绍uniapp如何自适应屏幕尺寸。一、什么是自适应屏幕?自适应是指应用可以在不同的设备上无缝地...
    99+
    2023-05-22
  • vue项目适配屏幕分辨率与屏幕的缩放适配详细教程
    目录解决方案全局导入App.vue刷新页面笔记本或者显示器 默认设置125%或者150%缩放,导致布局错乱的解决方法 现在很多14寸的笔记本,出厂默认就是150%的显示。导致很多时候...
    99+
    2022-11-13
    vue 屏幕分辨率 vue 适配屏幕分辨率 vue适配屏幕的缩放 vue适配屏幕
  • FlutterWidgetsMediaQuery控件屏幕信息适配
    目录MediaQueryMediaQueryData使用场景根据尺寸构建不同的布局系统字体变化第三方屏幕的适配框架:设置字体不随系统字体大小进行改变 APP全局总结:MediaQue...
    99+
    2022-11-13
    Flutter Widgets MediaQuery Flutter Widgets MediaQuery屏幕适配
  • 如何实现React Native屏幕适配
    这篇文章给大家分享的是有关如何实现React Native屏幕适配的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。屏幕适配的前置知识RN 中的尺寸单位为 dp,而设计稿中的单位为 ...
    99+
    2024-04-02
  • vue中怎么适配移动端屏幕
    vue中怎么适配移动端屏幕,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。效果预览# 项目clonegit clone git@github...
    99+
    2024-04-02
  • Android 简单好用的屏幕适配方案
    android中的dp在渲染前会将dp转为px,计算公式: px = density * dp; density = dpi / 160; px = dp ...
    99+
    2024-04-02
  • 配置iOS 16 屏幕旋转适配实例详解
    目录正文一. AppDelegate 配置定义一个 bool 类型的变量二. 适配 iOS16 旋转屏幕三. 强制旋转屏幕四. 自动旋转正文 我们公司的 app 只支持竖屏, 只有在...
    99+
    2024-04-02
  • ionic2屏幕适配如何实现适配手机、平板等设备
    这篇文章将为大家详细讲解有关ionic2屏幕适配如何实现适配手机、平板等设备,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体如下:推荐使用的编辑器是:VS code&n...
    99+
    2024-04-02
  • 关于移动端与大屏幕自适应适配方案
    目录一、安装并配置相应插件1.安装lib-flexible与postcss-pxtorem2.配置lib-flexible与postcss-pxtorem二、设置移动端适配三、注意问...
    99+
    2022-11-13
    移动端自适应 大屏幕自适应 自适应适配
  • vue3怎么使用postcss-px-to-viewport适配屏幕
    这篇文章主要讲解了“vue3怎么使用postcss-px-to-viewport适配屏幕”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue3怎么使用postcss-px-to-viewpo...
    99+
    2023-07-05
  • 怎么在html5中实现分层屏幕适配
    本篇文章为大家展示了怎么在html5中实现分层屏幕适配,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。屏幕适配屏幕适配应当指内容 适配区 和 屏幕区 间的适配关系。单屏适配有 contain、cove...
    99+
    2023-06-09
  • Android中关于屏幕的三个小众知识(宽屏适配、禁止截屏和保持屏幕常亮)
    前言宽屏适配、禁止截屏和保持屏幕常亮,这三个与屏幕有关的 Android 开发小众知识,说不定什么时候就派上用场。宽屏适配Android的屏幕适配一直以来都在折磨着我们Android开发者,越来越多的手机厂商趋向于全面屏设计,比如今年出厂的...
    99+
    2023-05-30
  • iOS 16适配屏幕旋转强制转屏切换大总结
    问题原因: 苹果又给我们挖坑了,iOS 16屏幕旋转报错:[Orientation] BUG IN CLIENT OF UIKIT: Setting UIDevice.orientation is not supported. Please...
    99+
    2023-09-04
    ios xcode objective-c 屏幕旋转
  • 移动web端屏幕适配rem的示例分析
    这篇文章主要介绍了移动web端屏幕适配rem的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。rem 介绍rem 表示根元素(<...
    99+
    2024-04-02
  • Android如何实现图片显示与屏幕适配
    这篇文章主要介绍Android如何实现图片显示与屏幕适配,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Android 图片显示与屏幕适配的问题在Android开发中比较头疼的是Android的分辨率问题,那么这里给大...
    99+
    2023-05-30
    android
  • vue中怎么使用rem适配移动端屏幕
    这篇“vue中怎么使用rem适配移动端屏幕”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue中怎么使用rem适配移动端屏幕...
    99+
    2023-07-04
  • css如何使用@media响应式适配各种屏幕
    小编给大家分享一下css如何使用@media响应式适配各种屏幕,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!定义和使用使用 @media 查询,你可以针对不同的媒体类型定义不同的样式。@media 可以针对不同的屏幕尺寸设...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作