Flutter Tab Bar Indicator:如何改变指示器的垂直位置?

Flutter Tab Bar Indicator: How to change the vertical position of the indicator?

我在这个标签栏上工作了一段时间,现在它看起来像这样:

,这里是我的代码:

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
        highlightColor: Colors.transparent,
        splashColor: Colors.transparent,
        hoverColor: Colors.transparent,
      ),
      title: 'Flutter Demo',
      home: DefaultTabController(
        length: 2,
        child: Scaffold(
          appBar: AppBar(
            leading: Icon(
              Icons.menu,
              color: Colors.black,
            ),
            actions: [
              Icon(
                Icons.settings,
                color: Colors.black,
              ),
            ],
            automaticallyImplyLeading: false,
            backgroundColor: Colors.white,
            title: Padding(
              padding: EdgeInsets.only(left: 50, right: 50),
              child:TabBar(
              indicatorColor: Colors.pink[100],
              indicatorSize: TabBarIndicatorSize.label,  
              tabs: [
                Tab(text: 'Dogs'),
                Tab(text: 'Cats'),
              ],
              labelColor: Colors.black,
            ),),
          ), //appbar
          body: TabBarView(
            children: [
              Center(child: Text('DOGS')),
              Center(child: Text('CATS')),
            ],
          ),
        ),
      ),
    );
  }
}

很明显,指标的位置不太对。理想情况下,我希望指示器垂直向上移动,靠近(和下方)文本(“狗”&&“猫”),或者垂直向下移动,停留在应用栏的底部。我怎样才能做到这一点?感谢任何帮助。

您可以使用 TabBar 小部件的更多参数来控制这些东西。

我已经添加了这个,

indicatorWeight: 4,
indicatorPadding: EdgeInsets.symmetric(vertical: 8),

我明白了,

如果您想要更接近,请使用 indicatorPaddingvertical 值。
如果你想要它更厚或更薄,请使用 indicatorWeight.