大家好! 你今天过得怎样?我希望它的辉煌<3
在这里我需要您的帮助,我在代码中一直使用Raw Button和Material button,但是我不知道 Raw Material按钮和有什么区别?和材质按钮?。
因为它们在使用时看起来相似。
预先感谢 <3
答案 0 :(得分:3)
来自附加到这些类的文档:
MaterialButton
是用于构建依赖于周围环境ButtonTheme
和Theme
的“材质”按钮的实用工具类。
和
RawMaterialButton
不使用当前的Theme
或ButtonTheme
来计算未指定参数的默认值。
就是这样-区别在于默认值。引擎盖下的MaterialButton使用RawMaterialButton
Widget build(BuildContext context) {
final ThemeData theme = Theme.of(context);
final ButtonThemeData buttonTheme = ButtonTheme.of(context);
return RawMaterialButton(
onPressed: onPressed,
onHighlightChanged: onHighlightChanged,
// so many properties here...
child: child,
materialTapTargetSize: materialTapTargetSize ?? theme.materialTapTargetSize,
);
}
答案 1 :(得分:1)
来自Flutter官方文档
MaterialButton类
用于构建依赖于 环境ButtonTheme和Theme。
必要时,按钮的大小将扩大以适合子窗口小部件。
onPressed处理程序为null的材料按钮将被禁用。至 有一个启用的按钮,请确保为传递一个非空值 onPressed。
RawMaterialButton类
此类不使用当前的Theme或ButtonTheme进行计算 未指定参数的默认值。
旨在用于 用于自定义“材质”按钮,可以选择将默认值纳入 主题或来自特定于应用程序的来源。
答案 2 :(得分:1)
MaterialButton
类用于构建依赖于环境ButtonTheme
和Theme
的按钮。另一方面,RawMaterialButton
个不使用ButtonTheme
或Theme
。
根据文档,
RawMaterialButton 不使用 ButtonTheme 或 Theme 来计算未指定参数的默认值。它打算用于自定义材料 按钮,这些按钮可以有选择地包含主题或应用程序特定来源的默认值。
有关更多详细信息,请参阅文档here。