据我所知,我们可以轻松地检测抖动中的操作系统。现在我只是在徘徊,是否有任何方法可以确定应用程序在哪个设备上运行。例如,如果应用程序正在移动设备或平板电脑设备上运行。它们都可以具有相同的操作系统。原因是由于屏幕尺寸,我想在我的一个小部件中显示例如移动设备上的图标和平板电脑上带有图标的文本。我知道我们可以使用MediaQuery.of(context).size.width
来查找屏幕的宽度,但是我不确定这是否是正确的方法,如果可以,每个设备的可靠断点是什么
答案 0 :(得分:2)
您可以使用flutter_device_type软件包中的以下代码段:
import 'dart:ui' as ui;
bool isTablet;
bool isPhone;
final double devicePixelRatio = ui.window.devicePixelRatio;
final ui.Size size = ui.window.physicalSize;
final double width = size.width;
final double height = size.height;
if(devicePixelRatio < 2 && (width >= 1000 || height >= 1000)) {
isTablet = true;
isPhone = false;
}
else if(devicePixelRatio == 2 && (width >= 1920 || height >= 1920)) {
isTablet = true;
isPhone = false;
}
else {
isTablet = false;
isPhone = true;
}
或者要获取更全面的信息,可以使用device_info软件包。