Flutter:如何检查窗口小部件是否为滚动窗口小部件

时间:2019-09-19 09:19:10

标签: flutter dart

ListViewGridViewSingleChildScrollView等小部件是可滚动的小部件,而ContainerSizedBoxColumn不是。

是否可以使用

来检查Widget是否可滚动
Widget widget = SomeWidget();
bool scrollable = widget.isScrollable(): // any property like this?

1 个答案:

答案 0 :(得分:0)

当您编写这样的内容时:

Widget widget = SomeWidget();

然后,您基本上是Downcasting窗口小部件的Widget类,该类是所有类的父级。如果选中Widget class in doc,则应该只会看到3种方法。哪些是

  1. createElement
  2. debugFillProperties
  3. toStringShort
  

bool scrollable = widget.isScrollable()://像这样的任何属性?

因此,这是不可能的。

但是,您知道小部件必须是ScrollView的子类或类型为SingleChildScrollView,以便您可以自己编写实用程序方法。喜欢

bool isScrollable(Widget widget) => widget is ScrollView || widget is SingleChildScrollView;