如何解决Flutter:如何使用 MaterialStateProperty 设置 ElevatedButton 的 minimumWidth?
我一直对此感到困惑。我希望 2 个具有不同文本的按钮具有相同的宽度。
我通过将 ElevatedButton 设为 SizedBox 的子项来实现这一点,但我担心如果用户将默认字体大小设置为大,则 Button 标题文本将被剪裁。
我可以在 ElevatedButton 的样式属性上放置一个“minimumSize”:
style: ButtonStyle(minimumSize: ),
但我不知道如何设置 minimumSize,它想要这个:
{MaterialStateProperty minimumSize} 类型: MaterialStateProperty 按钮本身的最小尺寸。 按钮所在的矩形的大小可能更大 点击目标尺寸
我不知道如何设置 MaterialStateProperty,Android Studio 抱怨“无法实例化抽象类”。帮助!
解决方法
当您第一次使用它时,这个 MaterialStateProperty
会令人困惑。如果您想为 minimumSize
中所有可能的状态(悬停、聚焦、按下等)设置 MaterialState
相同,您可以使用:
MaterialStateProperty.all(Size(width,height))
或者,如果您想为不同的状态使用不同的 minimumSize
,那么这样做的方法是:
MaterialStateProperty.resolveWith((states) {
if (states.contains(MaterialState.disabled)) {
return Size(width,height);
}
return Size(width,height);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。