zoukankan      html  css  js  c++  java
  • 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(),
        );
      }
    }
    
  • 相关阅读:
    如何让Surface RT支持网站的flash
    C# 线程同步
    WPF中Visible设为Collapse时,VisualTreeHelper.GetChildrenCount为0
    Set connectionId threw an exception.
    C# 深化基本概念
    wpf如何获取control template里的元素
    DataGrid当列宽超出当前宽度时,没有数据也恒有滚动条
    利用MEF实现插件机制(可根据输入类型来加载特定dll)
    利用正则表达式类解析SQL语句,达到Worklist兼容各个RIS数据库的目的
    Mysql 创建存储过程 更新表
  • 原文地址:https://www.cnblogs.com/ajanuw/p/11378957.html
Copyright © 2011-2022 走看看