微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Flutter:如何使用 MaterialStateProperty 设置 ElevatedButton 的 minimumWidth?

如何解决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 举报,一经查实,本站将立刻删除。