比方说,DropDownButton
的{{1}}有5个项目。
通常,我们可以在窗口中同时看到所有它们,因此小部件不允许滚动。
但是,与应用程序中的其他列表相比,这种行为并不是很流畅。而且即使元素少于最大适合数目的元素,我也希望启用滚动。这将在列表的顶部和底部显示items
效果,使用户感到所见即所得。
我在DropDownButton.dart中发现:
//不要使用特定于平台的默认滚动配置。 // 下拉菜单不应过度滚动或显示过度滚动 指示符。 _DropdownScrollBehavior类扩展ScrollBehavior {
const _DropdownScrollBehavior();@override TargetPlatform getPlatform(BuildContext context)=> Theme.of(context).platform;
@override Widget buildViewportChrome(BuildContext上下文,Widget child,AxisDirection axisDirection)=> child;
@override ScrollPhysics getScrollPhysics(BuildContext上下文)=> const ClampingScrollPhysics(); }
那么我将如何实现它,以便我可以以某种方式覆盖Material
而不是ScrollPhysics
来返回AlwaysScrollableScrollPhysics