问题描述
我一直对此感到困惑。我希望 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);
}