Flutter 如何判断Widget 的类型?

9 min read

Flutter 中可以使用 runtimeType 方法来获取 Widget 的类型,例如:

Widget widget = Text("Hello, world!");
print(widget.runtimeType); // 输出 "Text"

除此之外,还可以使用 is 关键字判断一个 Widget 是否属于某个类型,例如:

Widget widget = Text("Hello, world!");
if (widget is Text) {
  // 表示 widget 是 Text 类型的 Widget
}

或者使用 as 关键字将一个 Widget 转换为某个类型的 Widget,例如:

Widget widget = /* ... */;
Text text = widget as Text;

需要注意的是,使用 as 关键字时应当保证 Widget 的类型能够转换为指定的类型,否则会抛出类型错误的异常。