美文网首页Android进阶之路Flutter让前端飞
Flutter Theme主题系列之ButtonBarTheme

Flutter Theme主题系列之ButtonBarTheme

作者: i校长 | 来源:发表于2020-05-17 11:16 被阅读0次

简介

继承关系
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);
  • key 组件的唯一标示。
  • data 主题的数据来源ButtonBarThemeData,详细的配置信息。
  • child 通常ButtonBar组件,默认继承ButtonBarThemeData的配置,设置局部主题时使用。

总结

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

相关文章

网友评论

    本文标题:Flutter Theme主题系列之ButtonBarTheme

    本文链接:https://www.haomeiwen.com/subject/ftpjohtx.html