首页 > 其他分享 >一统天下 flutter - UI: MediaQuery - 获取屏幕的相关信息,使系统设置中的字体大小无效

一统天下 flutter - UI: MediaQuery - 获取屏幕的相关信息,使系统设置中的字体大小无效

时间:2023-04-14 15:56:53浏览次数:52  
标签:字体大小 一统天下 UI 屏幕 MediaQuery data flutter

一统天下 flutter https://github.com/webabcd/flutter_demo
作者 webabcd

一统天下 flutter - UI: MediaQuery - 获取屏幕的相关信息,使系统设置中的字体大小无效

示例如下:

lib\ui\media_query.dart

/*
 * MediaQuery - 获取屏幕的相关信息,使系统设置中的字体大小无效
 */

import 'package:flutter/material.dart';

import '../helper.dart';

class MediaQueryDemo extends StatefulWidget {
  const MediaQueryDemo({Key? key}) : super(key: key);

  @override
  _MediaQueryDemoState createState() => _MediaQueryDemoState();
}

class _MediaQueryDemoState extends State<MediaQueryDemo> {

  @override
  Widget build(BuildContext context) {

    String message = "";

    /// 获取屏幕的相关信息
    MediaQueryData data = MediaQuery.of(context);
    message = 'size: ${data.size}\n'                              /// 逻辑分辨率
        'devicePixelRatio: ${data.devicePixelRatio}\n'            /// 物理分辨率与逻辑分辨率的比值
        'textScaleFactor: ${data.textScaleFactor}\n'              /// 系统设置中的字体大小
        'platformBrightness: ${data.platformBrightness}\n'        /// 当前处于浅色模式还是深色模式
        'padding: ${data.padding}\n'                              /// 安全区域的尺寸
        'viewInsets: ${data.viewInsets}\n'                        /// 通过 .bottom 获取当前软键盘的高度
        'alwaysUse24HourFormat: ${data.alwaysUse24HourFormat}\n'  /// 是否是 24 小时制
        'orientation: ${data.orientation}';                       /// 当前屏幕的方向

    return Scaffold(
      appBar: AppBar(title: const Text("title"),),
      backgroundColor: Colors.orange,
      body: Column(
        mainAxisAlignment: MainAxisAlignment.spaceEvenly,
        children: [
          MyTextSmall(message),
          MediaQuery(
            // 使系统设置中的字体大小无效,会强制用 textScaleFactor 指定的值代替系统设置中的字体大小
            data: MediaQuery.of(context).copyWith(textScaleFactor: 1.5),
            child: MyTextSmall(message),
          ),
        ],
      ),
    );
  }
}

一统天下 flutter https://github.com/webabcd/flutter_demo
作者 webabcd

标签:字体大小,一统天下,UI,屏幕,MediaQuery,data,flutter
From: https://www.cnblogs.com/webabcd/p/flutter_lib_ui_media_query.html

相关文章

  • ncurses 库使用介绍: 实现终端 GUI
    这次ENGG1340课程的groupproject是设计并实现一个text-basegame,作为终端上运行的text-basegame,有一个出彩的GUI肯定是一个加分项!在未老师的介绍下,我知道了有<ncurses.h>库这么一个神奇的东西;最重要的是,虽然它不属于C++标准库,但是在学校server里居然默认下载好了......
  • Service Mesh框架选型对比分析:Linkerd、Envoy、Istio、Conduit
    当前,业界主要有以下主要几种ServiceMesh框架,下面进行详细的说明及对比。1、LinkerdLinkerd是Buoyant公司2016年率先开源的高性能网络代理,是业界的第一款ServiceMesh框架。其主要用于解决分布式环境中服务之间通信面临的一些问题,如网络不可靠、不安全、延迟丢包等问题。Linkerd使......
  • NUIST Levoj P1220 皇后摆放问题
    #include<iostream>#include<algorithm>#include<vector>#include<cstring>usingnamespacestd;intchess[9][9];intarr[9][9];intcnt=0,sum=0;boolcheck(introw,intcol){ for(inti=1;i<9;i++)if(chess[i][col])returnfalse; for(inti=......
  • org.apache.flume.ChannelFullException: Space for commit to queue couldn't be acq
    做以下修改agent.channels.memoryChanne3.keep-alive=60agent.channels.memoryChanne3.capacity=1000000修改java最大内存大小vibin/flume-ngJAVA_OPTS="-Xmx2048m"参考http://fangjian0423.github.io/2016/01/19/flume-channel-full-exception/......
  • Django Admin SimpleUI 自定义列
    DjangoAdminSimpleUI的一些简单用法注意事项:自定义列会遍历所有取出来的数据,需注意先定义下模型#models.pyclassDog(models.Model):name=models.CharField(max_length=15,verbose_name='小狗名字')age=models.IntegerField(verbose_name='小狗年龄',defa......
  • django admin 使用SimpleUI自定义按钮弹窗框示例
    actions=['button_exeScript',]defbutton_exeScript(self,request,queryset):passbutton_exeScript.layer={#弹出层中的输入框配置#这里指定对话框的标题'title':'弹出层输入框',#提示信息......
  • Vue.js element-ui
    基本使用视频按需引入视频7.1移动端常用UI组件库Vanthttps://youzan.github.io/vantCubeUIhttps://didi.github.io/cube-uiMintUIhttp://mint-ui.github.io7.2PC端常用UI组件库.ElementUIhttps://element.eleme.cnIViewUIhttps://www.iviewui.comsrcApp.vue......
  • HDU 2894 DeBruijin (欧拉回路)
    题目地址:HDU2894跟POJ1392基本一样的。。代码如下:#include<iostream>#include<string.h>#include<math.h>#include<queue>#include<algorithm>#include<stdlib.h>#include<map>#include<set>#include<stdio.h>......
  • POJ 2299 Ultra-QuickSort(线段树+离散化)
    题目地址:POJ2299这题曾经用归并排序做过,线段树加上离散化也可以做。一般线段树的话会超时。这题的数字最大到10^10次方,显然太大,但是可以利用下标,下标总共只有50w。可以从数字大的开始向树上加点,然后统计下标比它小即在它左边的数的个数。因为每加一个数的时候,比该数大的数已经加完......
  • 【element-ui】解决textarea show-word-limit挡住文字问题
    问题:“67/500”默认背景为白色已超出文本输入框,遮住部分上border,当文字到达右侧时会遮住部分文字,且无法点击该部分解决方案:背景透明色,文字放到右下角 html:<el-inputtype="textarea"autosize maxlength="500"show-word-limit v-model="form.keyIndustry"placeh......