首页 > 解决方案 > 颤振不应该根据设计缩小或放大图像和文本吗?为什么我看到了很大的不同?

问题描述

我有一个应该符合设计的应用程序,但我面临的问题是分辨率的差异使应用程序的内容与其他应用程序相比看起来很小。我提供了 2 种不同设备(Samsung Galaxy S10 5G 和 LG X500)的屏幕截图和原始 Sketch 设计,以显示我想要弄清楚的内容。

我的设计师告诉我将 pt 转换为 dp 以解决我们当前面临的问题,但 Flutter 不是已经这样做了吗?我昨天找到了一个解释这个的来源:什么是颤动的测量单位

除了Flutter中常规的实现方式,我没有尝试过其他任何东西,所以我非常困惑和压力。

2个设备:

在此处输入图像描述

原始草图设计:

在此处输入图像描述

文本:

Text( '\$', 
  style: TextStyle( 
    fontSize: 28, 
    color: Colors.white, 
    fontFamily: 'poppins_light', 
    height: 0.7 
  ), 
),
Image.asset('assets/images/refresh.png', height:16.0, width: 16.0,),

我想知道是否有更多的开发人员和我现在面临同样的问题,以及有什么样的解决方案来解决我目前面临的问题。

编辑:

我提供了一个更好的替代方法来使用下面的代码放大文本(插入到 MaterialApp 小部件/代码的根目录中):

builder: (context, child) {
  return MediaQuery(
    child: child,
    data: MediaQuery.of(context).copyWith(textScaleFactor: 1.20),
  );
},

标签: flutterresolutiondpipt

解决方案


事实是,DP 与屏幕尺寸的比例并不是一个恒定的比例。

Flutter 确实使用 DP,但该单元的规格使其在不同的屏幕上看起来更大/更小。

出于这个原因,您应该只使用设计师提供的值并顺其自然。


推荐阅读