首页 > 解决方案 > Flutter 2 MaterialApp buttonTheme for ElevatedButton

问题描述

在颤振 2 中,凸起的按钮将来会被弃用

'RaisedButton' is deprecated and shouldn't be used. Use ElevatedButton instead.

但 MaterialApp 中的 ThemeData 不影响 ElevatedButton

有什么解决办法吗?

这是我的主题数据

ThemeData(
      buttonTheme: ButtonThemeData(
          textTheme: ButtonTextTheme.primary,
          height: 40,
          buttonColor: Color(
              0xff00a89b
          ),
          shape: RoundedRectangleBorder(
              borderRadius: BorderRadius.all(
                  Radius.circular(
                      50
                  )
              )
          )
      ),
    )

标签: flutterdart

解决方案


改为使用elevatedButtonThemeflutter 中的新按钮

ThemeData(
  elevatedButtonTheme: ElevatedButtonThemeData(
    style: ButtonStyle(
      textStyle: MaterialStateProperty.resolveWith<TextStyle>((states) {
        return ButtonTextTheme.primary;
      }), 
      foregroundColor: MaterialStateProperty.resolveWith((states) {
        return Color(0xff00a89b);
      }),
      shape: MaterialStateProperty.resolveWith<OutlinedBorder>((states) {
        return RoundedRectangleBorder(
          borderRadius: BorderRadius.all(
            Radius.circular(50),
          ),
        );
      }),
    ),
  ),
);

推荐阅读