dart - 改变 AppBar 的高度

标签 dart flutter

我正在开发一个 Flutter 应用程序。在此应用程序中,我在应用程序栏中使用了 TabBarController。我没有为 AppBar 使用图标和标题,所以高度显示的超出预期。我需要帮助才能达到所需的尺寸。我正在使用以下代码:

class Dashboard extends StatefulWidget{
  @override
  State<StatefulWidget> createState() => new _DashboardState();
}

class _DashboardState extends State<Dashboard> with SingleTickerProviderStateMixin{

  final List<Tab> myTabs = <Tab>[
    new Tab(text: 'page1.',),
    new Tab(text: 'page2.'),
  ];

  TabController _tabController;

  @override
  void initState() {
    super.initState();
    _tabController = new TabController(length: 3, vsync: this
    );
  }

  @override
  void dispose() {
    _tabController.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: new AppBar(
        bottom: new TabBar(
          indicatorSize:TabBarIndicatorSize.tab,
          controller: _tabController,
          tabs: myTabs,
          labelStyle: styleTabText,

        ),
      ),
      body:  new TabBarView(
        controller: _tabController,
        children: myTabs.map((Tab tab) {
          return new Center(
              child: new Text(
                  tab.text
              )
          );
        }).toList(),
      ),
    );
  }
}

另外,为了引用,我添加了应用程序的屏幕截图。 enter image description here

最佳答案

您可以使用 PreferredSize调整 TabBar 的高度:

  @override
  Widget build(BuildContext context) {

    TabBar _tabBar = new TabBar(
      indicatorSize:TabBarIndicatorSize.tab,
      controller: _tabController,
      tabs: myTabs,
      labelStyle: styleTabText,
    );

    return Scaffold(
      appBar: new AppBar(
        bottom: PreferredSize(
          preferredSize: Size.fromHeight(_tabBar.preferredSize.height - 50),
          child: _tabBar,
        ),
      ),

      // (...)

    );
  }

关于dart - 改变 AppBar 的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53904134/

相关文章:

parameters - Flutter:将传递的参数更改为 "StatefulWidget"

android-studio - Flutter doctor 错误 - 找不到 Android sdkmanager 工具。 window

flutter - 在 FutureBuilder 中访问多个 future 的结果

IOS 上的 Flutter 版本停留在 1.0.0

flutter - BoxDecoration 中的 FadeInImage

Flutter 自动导入扩展文件不起作用

css - 直接在 polymer 中设计元素样式是不好的做法吗?

flutter - 制作一个简单的单实例类作为数据库助手

在 setState 之后 TextField 的 Flutter Cursor 移动到位置 0

dart - flutter (dart) 是否能够在单独的 isolate 中发出 api 请求?