flutter 不同屏幕适配尺寸

flutter 不同屏幕适配尺寸,第1张

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录 问题描述思路使用1.引入库2.设置宽高


问题描述

在编写app的过程中,使用的是模拟器来进行开发,而在面对不同的手机时,需要根据手机的尺寸自动调整各组件等的大小。


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

思路

实际是一个比较取巧的思路。
1、首先flutter是使用MediaQuery相关组件来获取当前设备信息的。我们所需要的参数如下:

先声明变量,类型为MediaQueryData。

再进行赋值。
2、以模拟器的参数为单位,作为常量放在分母,达到比例的效果。即 在模拟器中设置的组件宽度/模拟器宽度 = 在手机中设置的组件宽度(x) / 手机宽度。
代码如下(专门写一个工具类以后调用方便)

/./ sizefit.dart
import 'package:flutter/material.dart';

class SizeFit{
  static MediaQueryData _mediaQueryData = MediaQueryData();
  static double screenWidth = 0;
  static double screenHeight = 0;

  static void initialize(BuildContext context){
    _mediaQueryData = MediaQuery.of(context);
    screenWidth = _mediaQueryData.size.width;
    screenHeight = _mediaQueryData.size.height;
  }

  static double setHeight(double size){
    double standardHeight = 683.4285714285714;
    return size *screenHeight / standardHeight;
  }

  static double setWidth(double size){
    double standardWidth = 411.42857142857144;
    return size * screenWidth / standardWidth;
  }
}
使用 1.引入库

代码如下(示例):

import 'sizefit.dart';
2.设置宽高

代码如下(示例):

Container(width:SizeFit.setWidth(340))

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/996640.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存