提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
目录 问题描述思路使用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))
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)