跳到主要内容

sized_box_shrink_expand

使用 'SizedBox.{0}' 来避免指定 'height' 和 'width'。

描述

#

SizedBox 构造函数调用中将 heightwidth 的值都指定为 0.0double.infinity 时,分析器会生成此诊断消息。

示例

#

以下代码会生成此诊断消息,因为 heightwidth 都是 0.0

dart
import 'package:flutter/material.dart';

Widget build() {
  return SizedBox(
    height: 0.0,
    width: 0.0,
    child: const Text(''),
  );
}

以下代码会生成此诊断消息,因为 heightwidth 都是 double.infinity

dart
import 'package:flutter/material.dart';

Widget build() {
  return SizedBox(
    height: double.infinity,
    width: double.infinity,
    child: const Text(''),
  );
}

常见修复方法

#

如果两者都是 0.0,则使用 SizedBox.shrink

dart
import 'package:flutter/material.dart';

Widget build() {
  return SizedBox.shrink(
    child: const Text(''),
  );
}

如果两者都是 double.infinity,则使用 SizedBox.expand

dart
import 'package:flutter/material.dart';

Widget build() {
  return SizedBox.expand(
    child: const Text(''),
  );
}