首页 > 解决方案 > 如何连续使用标签栏颤动

问题描述

我想在一行中使用一个标签栏,而行是一个容器的子级使用行的原因是,我想在右侧使用一个图标并在左侧使用一个标签栏,\

右侧有一个图标,左侧有一个标签栏
我已经尝试过

 child: Row(
                children: [
                  Expanded(child: Text('data')),
                  AppBar(
                    bottom: TabBar(

但这也出错了,如果您需要更多信息,我也无法将 tabbar 作为容器子项,请告诉我,感谢您的帮助

标签: flutterdart

解决方案


你可以试试这样的用法。结果看起来像这样。

在此处输入图像描述

class ExamplePage extends StatefulWidget {
  @override
  _ExamplePageState createState() => _ExamplePageState();
}

class _ExamplePageState extends State<ExamplePage> with SingleTickerProviderStateMixin {

  TabController tabController;

  @override
  void initState() {
    super.initState();
    tabController = TabController(
      length: 2,
      initialIndex: 0,
      vsync: this,
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        bottom: PreferredSize(
          preferredSize: Size.fromHeight(40),
          child: ListView(
            shrinkWrap: true,
            children: [

              Row(
                children: [

                  Expanded(
                    flex: 5,
                    child: TabBar(
                      controller: tabController,
                      tabs: [
                        Tab(child: Text('Page 1')),
                        Tab(child: Text('Page 2')),
                      ],
                    ),
                  ),

                  Expanded(
                    flex: 1,
                    child: Icon(Icons.add),
                  )

                ],
              )

            ],
          )
        ),
      ),
      body: Container(),
    );

推荐阅读