我正在使用一个TabBar小部件,我想定制指示器的高度和宽度.除了可以修改的 colored颜色 ,我看不到任何其他属性.

enter image description here

推荐答案

如果您不希望选项卡按默认方式水平扩展以填充屏幕,请将TabBar的属性设置为isScrollable: true.

您可以使用包装在PreferredSize中的Container来调整TabBar的大小.(仅当您希望PreferredSize位于AppBarbottom插槽中时,才需要使用PreferredSize.)这会使指示器看起来更窄,因为TabBar不会填满屏幕.但是,该指示器具有硬编码高度.如果您不喜欢,您必须导入您自己的tabs.dart副本,并自定义该文件中的常量.

请注意,您也可以使用Container来设置单个Tab的高度,尽管这似乎不是您想要做的.

screenshot

import 'package:flutter/material.dart';


void main() {
  runApp(new MaterialApp(
    home: new MyApp(),
  ));
}



class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new DefaultTabController(
      length: 2,
      child: new Scaffold(
        appBar: new AppBar(
          title: new Text('Tabs Demo'),
          bottom: new PreferredSize(
            preferredSize: new Size(200.0, 200.0),
            child: new Container(
              width: 200.0,
              child: new TabBar(
                tabs: [
                  new Container(
                    height: 200.0,
                    child: new Tab(text: 'hello'),
                  ),
                  new Container(
                    height: 200.0,
                    child: new Tab(text: 'world'),
                  ),
                ],
              ),
            ),
          ),
        ),
        // body: ...
      ),
    );
  }

}

Flutter相关问答推荐

为什么我的PUT请求不能正常工作?

带有图标抖动的自定义下拉按钮

框中的Flutter 适配图像

Flutter Android Google Sign-in error:ApiException:10在确认软件包名称、SHA-1 fingerprint 和设置同意页面后出现异常

尽管 onCollision 处理了我的角色还是从平台上掉了下来

在 Flutter 中滑动关闭 PageView.builder 时出现问题

无法在 Flutter 项目中安装最新版本的 image_picker

Flutter:使用 GlobalKey 访问 BlocProvider

当键盘隐藏表单时该怎么办?

文本溢出文本框 - Flutter

PreferredSizeWidget类不能用作混合,因为它既不是混合类也不是混合

通过一个具体的例子理解Flutter约束的本质

type '({bool growable}) => List' 不是类型转换中类型 'List' 的子类型

如何在 flutter 的alert 对话框中实现进度指示器?

如何获得Flutter 的时差?

使用 onPressed 切换到另一个屏幕无法正常工作

从物理设备 Flutter 中移除 USB 后启动画面不可见?

Flutter 中父容器顶部的 Gridview 间距额外区域

Flutter:整个判断整个应用生命周期的通用类

如何从 MemoryFileSystem 字节创建假 dart:io 文件?