颤振:“原材料”按钮和“材料”按钮之间的区别

时间:2019-12-05 13:46:03

标签: android flutter dart flutter-layout flutter-animation

大家好! 你今天过得怎样?我希望它的辉煌<3

在这里我需要您的帮助,我在代码中一直使用Raw Button和Material button,但是我不知道 Raw Material按钮和有什么区别?和材质按钮?

因为它们在使用时看起来相似。

预先感谢 <3

3 个答案:

答案 0 :(得分:3)

来自附加到这些类的文档:

  

MaterialButton是用于构建依赖于周围环境ButtonThemeTheme的“材质”按钮的实用工具类。

  

RawMaterialButton不使用当前的ThemeButtonTheme来计算未指定参数的默认值。

就是这样-区别在于默认值。引擎盖下的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类用于构建依赖于环境ButtonThemeTheme的按钮。另一方面,RawMaterialButton个不使用ButtonThemeTheme。 根据文档,

  

RawMaterialButton 不使用 ButtonTheme Theme 来计算未指定参数的默认值。它打算用于自定义材料 按钮,这些按钮可以有选择地包含主题或应用程序特定来源的默认值。

有关更多详细信息,请参阅文档here