ListView
,GridView
,SingleChildScrollView
等小部件是可滚动的小部件,而Container
,SizedBox
,Column
不是。
是否可以使用
来检查Widget
是否可滚动
Widget widget = SomeWidget();
bool scrollable = widget.isScrollable(): // any property like this?
答案 0 :(得分:0)
当您编写这样的内容时:
Widget widget = SomeWidget();
然后,您基本上是Downcasting窗口小部件的Widget
类,该类是所有类的父级。如果选中Widget class in doc,则应该只会看到3种方法。哪些是
createElement
debugFillProperties
toStringShort
bool scrollable = widget.isScrollable()://像这样的任何属性?
因此,这是不可能的。
但是,您知道小部件必须是ScrollView的子类或类型为SingleChildScrollView,以便您可以自己编写实用程序方法。喜欢
bool isScrollable(Widget widget) => widget is ScrollView || widget is SingleChildScrollView;