美文网首页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