Flutter MediaQuery Widget

Flutter 的 MediaQuery Widget 可以用于获取屏幕信息和设备信息,如屏幕宽度、高度、设备像素比等。开发者可以使用 MediaQuery Widget 通过不同的信息来调整 Widget 的布局、尺寸和样式等。

示例代码:

class MyWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    final mediaQuery = MediaQuery.of(context);
    final screenWidth = mediaQuery.size.width;
    final screenHeight = mediaQuery.size.height;
    final devicePixelRatio = mediaQuery.devicePixelRatio;

    return Container(
      width: screenWidth * 0.8,
      height: screenHeight * 0.5,
      child: Text(
        'Device pixel ratio: $devicePixelRatio',
        style: TextStyle(
          fontSize: screenWidth * 0.05,
          fontWeight: FontWeight.bold,
        ),
      ),
    );
  }
}

上述代码展示了如何使用 MediaQuery Widget 来获取屏幕信息和设备信息,并根据这些信息来调整 Text Widget 的尺寸和样式。其中,MediaQuery.of(context) 可以获取到当前 context 下的 MediaQuery 数据。

MediaQuery 中常用的属性包括:

  • size:屏幕尺寸,包括宽度和高度。
  • devicePixelRatio:设备像素比,即物理像素与逻辑像素的比值。
  • textScaleFactor:文本缩放因子,即用户设置的文本大小与标准大小的比值。
  • padding:屏幕的 padding,包括顶部、底部、左侧和右侧的 padding。

开发者可以根据不同的需求使用不同的属性来调整 Widget 的尺寸和样式等,以适应不同的屏幕和设备。

powered by Gitbook© 2023 编外计划 | 最后修改: 2023-11-24 03:36:59

results matching ""

    No results matching ""