如何在不使用appbar的情况下添加标签栏

问题描述 投票:0回答:2

我已尝试重新创建此设计,但未能在体内的图像下方添加TabBar和TabBarView。fl

flutter flutter-layout tabbar appbar
2个回答
0
投票

您可以轻松创建没有AppBar的TabBar。只需将Container作为父项即可。请检查this答案。


0
投票

尝试一下

class Demo extends StatefulWidget {
@override
_DemoState createState() => _DemoState();
 }

class _DemoState extends State<Demo>
 with TickerProviderStateMixin {
TabController _tabController;

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

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

 @override
 Widget build(BuildContext context) {
 return Scaffold(
  body:Column(
    children: <Widget>[
      Image.asset("path"),
      Column(
              children: <Widget>[
                Container(
                  height: 60,
                  margin: EdgeInsets.only(left: 60),
                  child: TabBar(
                    tabs: [
                      Container(
                        width: 70.0,
                        child: new Text(
                          'Tab1',
                          style: TextStyle(fontSize: 20),
                        ),
                      ),
                      Container(
                        width: 75.0,
                        child: new Text(
                          'Tab2',
                          style: TextStyle(fontSize: 20),
                        ),
                      )
                    ],
                    unselectedLabelColor: const Color(0xffacb3bf),
                    indicatorColor: Color(0xFFffac81),
                    labelColor: Colors.black,
                    indicatorSize: TabBarIndicatorSize.tab,
                    indicatorWeight: 3.0,
                    indicatorPadding: EdgeInsets.all(10),
                    isScrollable: false,
                    controller: _tabController,
                  ),
                ),
                Container(
                  height: 100,
                  child: TabBarView(
                      controller: _tabController,
                      children: <Widget>[
                        Container(
                          child: Text("login"),
                        ),
                        Container(
                          child: Text("sign up"),
                        )
                      ]),
                )
              ],
            ),
    ],
  )
 );
}
© www.soinside.com 2019 - 2024. All rights reserved.