Android进阶之路Flutter让前端飞

Flutter Theme主题系列之ButtonBarTheme

2020-05-17  本文已影响0人  i校长

简介

继承关系
Object> DiagnosticableTree> Widget> ProxyWidget> InheritedWidget> ButtonBarTheme
ButtonBarTheme通常用于ButtonBar的主题使用,它有一套默认主题,在你没有做变更的前提下,作为ThemeData构造函数的参数,你可以轻松做到全局改主题样式。简单用法如下:

///全局配置
ThemeData(
        buttonBarTheme: ButtonBarThemeData(
            buttonTextTheme:ButtonTextTheme.normal
        )
)
///全局用法
ButtonBar(
        children: <Widget>[
          RaisedButton(child: Text('老孟'),onPressed: (){

          },),
          FlatButton(child: Text('专注flutter分享'),onPressed: (){

          },)
        ],
      )
///局部用法
ButtonBarTheme(
            data: ButtonBarThemeData(buttonTextTheme: ButtonTextTheme.accent),
            child: ButtonBar(
              children: <Widget>[
                FlatButton(
                  onPressed: () {},
                  child: Text("局部用法测试"),
                )
              ],
            ),
          )
图示:

构造函数

const ButtonBarTheme({
  Key key,
  @required this.data,
  Widget child,
}) : assert(data != null), super(key: key, child: child);

总结

ButtonBarTheme 是一个InheritedWidget组件,它可以高效的将数据在Widget树中向下传递、共享,所有才有了全局主题和局部主题的用法。

上一篇 下一篇

猜你喜欢

热点阅读