Flutter TabBar and TabBarView控件

TabBar and TabBarView效果

请添加图片描述

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

void main(List<String> args) {
  runApp(app());
}

class app extends StatelessWidget {
  const app({Key key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: homebody(),
    );
  }
}

class homebody extends StatelessWidget {
  const homebody({Key key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    List<Tab> TabsList = [
      Tab(
        text: "电影",
      ),
      Tab(
        text: "电视",
      ),
      Tab(
        text: "综艺",
      ),
      Tab(
        text: "读书",
      ),
      Tab(
        text: "音乐",
      ),
      Tab(
        text: "同城",
      ),
      Tab(
        text: "旅游",
      ),
      Tab(
        text: "网点",
      )
    ];
    List<Widget> TabBarViewList=[ Text("电影"),
            Text("电视"),
            Text("综艺"),
            Text("读书"),
            Text("音乐"),
            Text("同城"),
            Text("旅游"),
            Text("网点")];

    return DefaultTabController(
      length: TabsList.length,
      child: Scaffold(
        appBar: AppBar(
          backgroundColor: Colors.green,
          title: Text("AppBar"),
          bottom: TabBar(
            unselectedLabelColor: Colors.white, //设置未选中时的字体颜色,tabs里面的字体样式优先级最高
            unselectedLabelStyle:
                TextStyle(fontSize: 20), //设置未选中时的字体样式,tabs里面的字体样式优先级最高
            labelColor: Colors.black, //设置选中时的字体颜色,tabs里面的字体样式优先级最高
            labelStyle: TextStyle(fontSize: 20.0), //设置选中时的字体样式,tabs里面的字体样式优先级最高
            isScrollable: true, //允许左右滚动
            indicatorColor: Colors.red, //选中下划线的颜色
            indicatorSize: TabBarIndicatorSize
                .label, //选中下划线的长度,label时跟文字内容长度一样,tab时跟一个Tab的长度一样
            indicatorWeight: 6.0, //选中下划线的高度,值越大高度越高,默认为2。0
            tabs: TabsList,
          ),
        ),
        body: TabBarView(
          children:TabBarViewList,
        ),
      ),
    );
  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值