【发布时间】:2019-05-08 19:09:21
【问题描述】:
问题:如何以某种方式自动(如果可能)为我的应用程序中的所有RaisedButton 小部件设置样式?
我正在将一个应用从原生 Android 转换为 Flutter。在这个应用程序中,所有主要的操作按钮都是圆形的、灰色的,并且有一个白色的边框。在 Android 中,这就像在 styles.xml 中定义样式并设置 <Button style="MyPrimaryButton"/> 一样简单。
另一方面,在 Flutter 中,我只能找到使用 property: Theme.of(context).property 设置单个属性的示例(包括来自 theming docs 的示例),并且似乎没有其他方法可以传递样式属性颜色和字体。
以下是我想为所有RaisedButton 小部件使用的样式:
RaisedButton(
color: Theme.of(context).accentColor,
elevation: 0,
shape: new RoundedRectangleBorder(
side: BorderSide(color: Colors.white, width: 1.0, style: BorderStyle.solid),
borderRadius: new BorderRadius.circular(30)),
)
这个purportedly similar question 主要基于意见而关闭,但我不是在征求您的意见。我在问是否有 一种方法来设置这些按钮的样式,最好不要像接受的答案所建议的那样将小部件源代码复制粘贴到我自己的类中(尽管这仍然是唯一的方法这样做很可能就是答案)。
【问题讨论】:
-
为什么不在 MaterialApp 主题级别设置按钮主题?
-
我想我不清楚主题是如何工作的,但由于 Hemanth 提供的答案,我更好地理解了它,现在看看它是如何使用的。
-
谢谢。当我浏览重复项时,我没有看到那个;我的错。