• Flutter 使用Tabbar不要Title


    Demo 1

    import 'package:flutter/material.dart';
    
    void main() => runApp(MyApp());
    
    class MyApp extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return MaterialApp(
          theme: ThemeData(
            primaryColor: Colors.blue,
            accentColor: Colors.pink,
          ),
          home: HomePage(),
        );
      }
    }
    
    class HomePage extends StatefulWidget {
      @override
      _HomePageState createState() => _HomePageState();
    }
    
    class _HomePageState extends State<HomePage> {
      final tabs = ["One", "Two", "Three"];
    
      @override
      Widget build(BuildContext context) {
        return DefaultTabController(
          length: tabs.length,
          child: Scaffold(
            appBar: PreferredSize(
              preferredSize: Size.fromHeight(kToolbarHeight),
              child: Container(
                color: Theme.of(context).primaryColor,
                child: SafeArea(
                  child: Column(
                    children: <Widget>[
                      Expanded(child: SizedBox()),
                      getTabBar(),
                    ],
                  ),
                ),
              ),
            ),
            body: getTabBarPages(),
          ),
        );
      }
    
      Widget getTabBar() {
        return TabBar(
          indicatorColor: Theme.of(context).accentColor,
          tabs: tabs.map((t) {
            return Tab(
              child: Text(t),
            );
          }).toList(),
        );
      }
    
      Widget getTabBarPages() {
        return TabBarView(
          children: tabs.map((t) {
            return Center(
              child: Text(t),
            );
          }).toList(),
        );
      }
    }
    

    Demo 2

    import 'package:flutter/material.dart';
    
    void main() => runApp(MyApp());
    
    class MyApp extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return MaterialApp(
          theme: ThemeData(
            primaryColor: Colors.blue,
            accentColor: Colors.pink,
          ),
          home: HomePage(),
        );
      }
    }
    
    class HomePage extends StatefulWidget {
      @override
      _HomePageState createState() => _HomePageState();
    }
    
    class _HomePageState extends State<HomePage> {
      final tabs = ["One", "Two", "Three"];
    
      @override
      Widget build(BuildContext context) {
        return DefaultTabController(
          length: tabs.length,
          child: Scaffold(
            appBar: AppBar(
              flexibleSpace: SafeArea(
                child: Column(
                  children: <Widget>[
                    Expanded(child: SizedBox()),
                    getTabBar(),
                  ],
                ),
              ),
            ),
            body: getTabBarPages(),
          ),
        );
      }
    
      Widget getTabBar() {
        return TabBar(
          indicatorColor: Theme.of(context).accentColor,
          tabs: tabs.map((t) {
            return Tab(
              child: Text(t),
            );
          }).toList(),
        );
      }
    
      Widget getTabBarPages() {
        return TabBarView(
          children: tabs.map((t) {
            return Center(
              child: Text(t),
            );
          }).toList(),
        );
      }
    }
    
  • 相关阅读:
    从0移植uboot (一) _配置分析
    一段美好的记忆,一份真挚的感情,已经远去......
    搭建SSH服务
    Ubuntu16.04中搭建TFTP 和 NFS 服务器
    关于x210开发板和主机、虚拟机ping通问题
    SPI总线的特点、工作方式及常见错误解答
    u-boot全面分析
    C语言类型的隐式转换问题
    uboot-jiuding 下主Makefile详解
    异常处理
  • 原文地址:https://www.cnblogs.com/ajanuw/p/11378957.html
Copyright © 2020-2023  润新知