第四百四十三回

2024-04-06 02:36
文章标签 第四 四十三

本文主要是介绍第四百四十三回,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 1. 概念介绍
  • 2. 思路与方法
    • 2.1 整体思路
    • 2.2 使用方法
  • 3. 示例代码
  • 4. 内容总结

我们在上一章回中介绍了"自定义Action菜单"相关的内容,本章回中将介绍如何获取屏幕相关参数.闲话休提,让我们一起Talk Flutter吧。

在这里插入图片描述

1. 概念介绍

我们在本章回中介绍的屏幕参数主要指屏幕的尺寸、方向和亮度。这些参数在程序开发中会被用到,当然了使用频率最高的要数屏幕的尺寸。本章回中将详细介绍获取这些
参数的方法,同时分享一些相关的经验。

2. 思路与方法

2.1 整体思路

获取屏幕参数的思路就是读取屏幕的参数值,这时需要使用MediaQueryData类的成员,这些成员中包含了相关的屏幕参数值,开发人员只需要获取到这些值就可以。常
用的成员如下所示:

  • viewInsets:它表示被系统功能界面遮挡的功能区域大小,比如常见的键盘区域大小;
  • viewPadding:它表示页面最上方的状态栏和底部安全区域的大小;
  • padding:它和viewPadding功能相同,只是在细节上有差别;
  • size:它表示屏幕的大小,也就是通常说的屏幕分辨率;
    我们在上面中提到了viewPadding和padding成员在细节上有差别,主要的差别在于padding中bottom的值会在键盘弹出后变为0,而viewPadding中botttom的
    值不会变。

2.2 使用方法

有了思路后,我们介绍具体的实现方法,详细如下:

  • 通过MediaQuery的of方法获取MediaQueryData对象;
  • 在MediaQueryData对象中获取相应的成员;
  • 在成员中读取屏幕参数值;

3. 示例代码

    double statusBarHeight = MediaQuery.of(context).padding.top;double screenWidth = MediaQuery.of(context).size.width;double screenHeight = MediaQuery.of(context).size.height;

上面的示例代码中演示了如何获取屏幕的长度和宽度,其它的屏幕参数大家可以自己动手去获取。我们在这里就不演示了,我们重点说一下top对应值,它表示屏幕最上方
状态栏的高度,就是显示手机信号所在区域的高度,很多人容易把页面上方AppBar的高度与它混淆。其实它的高度值大约是AppBar的一半,比如我在自己的真机上测试
后发现top对应的值是36,而且AppBar的高度值是56。

4. 内容总结

最后,我们对本章回的内容做一个全面的总结:

  • 屏幕参数主要存放在MediaQueryData类的成员中;
  • 获取屏幕参数时直接读取MediaQueryData类的成员值就可以;
  • 不同的屏幕参数对应的不同的成员,有些成员在功能上相同,但是细节上不同;
    看官们,与"如何获取屏幕相关参数"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

这篇关于第四百四十三回的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/878790

相关文章

项目实战系列三: 家居购项目 第四部分

购物车 🌳购物车🍆显示购物车🍆更改商品数量🍆清空购物车&&删除商品 🌳生成订单 🌳购物车 需求分析 1.会员登陆后, 可以添加家居到购物车 2.完成购物车的设计和实现 3.每添加一个家居,购物车的数量+1, 并显示 程序框架图 1.新建src/com/zzw/furns/entity/CartItem.java, CartItem-家居项模型 /***

C语言深度剖析--不定期更新的第四弹

哈哈哈哈哈哈,今天一天两更! void关键字 void关键字不能用来定义变量,原因是void本身就被编译器解释为空类型,编译器强制地不允许定义变量 定义变量的本质是:开辟空间 而void 作为空类型,理论上不应该开辟空间(针对编译器而言),即使开辟了空间,也只是作为一个占位符看待(针对Linux来说) 所以,既然无法开辟空间,也无法作为正常变量使用,既然无法使用,干脆编译器不让它编译变

第四讲:拟合算法

与插值问题不同,在拟合问题中不需要曲线一定经过给定的点。拟合问题的目标是寻求一个函数(曲线)使得该曲线在某种准则下与所有的数据点最为接近,即曲线拟合的最好(最小化损失函数)。 插值算法中,得到的多项式f(x)要经过所有样本点。但是如果样本点太多,那么这个多项式次数过高,会造成龙格现象。 尽管我们可以选择分段的方法避免这种现象,但是更多时候我们更倾向于得到-个确定的曲线,尽管这条曲线不能经过每

(第四十天)配置完整的考试系统,完成前端和后端并优化,mysql后端,nginx前端,java连接

回顾 1 、使用 harbor 仓库 python --version yum -y update yum -y install python2-pip pip install --upgrade pip == 20 .3 -i ....... pip install docker-compose -i .......

小白Sass教程---通过实例学Sass--第四讲--属性嵌套

CSS规则在sass中可以进行嵌套,css属性也可以进行嵌套,属性嵌套的规则是: 有中横线的属性可以拆解嵌套,以中横线为界限进行拆解,依次嵌套 废话不多说,直接上代码: .lesson3-demo2{.box{height: 100px;width: 800px;padding: {top: 20px;left: 30px;}border: {left: 5px solid #3da7f5

sqli-libs第四关详解

首先判断是数字型注入还是字符型注入 正常显示,说明是字符型注入,那么尝试单引号闭合 还是正常显示,尝试双引号闭合 有报错信息,含有括号,这时就应该想到,sql代码是("$id")这样写的了。直接采取闭合,判断字段数。 4不行,那就是3个字段,再看看哪些地方可以显示数据,把数据库名和版本也搞出来 后面就是利用information_schema这个库查询信息了,先看看s

尚品汇-MQ模块搭建测试、消息不丢失(重)(四十三)

目录: (1)消息不丢失 (2)消息确认 (3)消息确认业务封装  (4)封装发送端消息确认 (5)封装消息发送 (6)发送确认消息测试 (7)消息发送失败,设置重发机制 (1)消息不丢失 消息的不丢失,在MQ角度考虑,一般有三种途径: 1,生产者不丢数据 2,MQ服务器不丢数据 3,消费者不丢数据 保证消息不丢失有两种实现方式: 开启事务模式消息确认模式 说明:

数字芯片设计验证经验分享系列文章(第四部分):将ASIC IP核移植到FPGA上——如何测试IP核的功能和考虑纯电路以外的其他因素

作者:Philipp Jacobsohn,SmartDV首席应用工程师 Sunil Kumar,SmartDV FPGA设计总监 本系列文章从数字芯片设计项目技术总监的角度出发,介绍了如何将芯片的产品定义与设计和验证规划进行结合,详细讲述了在FPGA上使用IP核来开发ASIC原型项目时,必须认真考虑的一些问题。文章从介绍使用预先定制功能即IP核的必要性开始,通过阐述开发ASIC原型设计时需要考

Java程序员从笨鸟到菜鸟(四十三)NIO 非阻塞实现高并发

一、阻塞和非阻塞 阻塞:应用程序在获取网络数据的时候,如果网络传输很慢,就会一直等待直到传输完毕为止 非阻塞:应用程序可以直接获取已经准备就序好的数据,无需等待 二、BIO、NIO、AIO BIO(同步阻塞式 IO):服务器实现模式为一个请求一个线程,客户端有连接请求是服务器就需要启动一个线程进行处理,如果这个连接不做任何事情就造成不必要的开销 NIO(同步非阻塞式IO):服务器实现模式

6月,给你的第四封信

6月的阳光逐渐增加了热辣辣的味道,早上8点的太阳,就已经让人微微出汗。    一,从北五环到南三环          6月份房租到期,jie su  二,劳累的加班路上 三,孤单走不出你的忧伤