颤动更改标签宽度

时间:2020-02-01 23:26:15

标签: flutter flutter-layout

我有四个选项卡,最后一个是带有图标的选项卡。我想更改最后一个标签的宽度,使其更小。所以,看起来会更好。使用Container并给定宽度是行不通的。有什么建议可以使它起作用吗?

enter image description here

TabBar(
  controller: _controller,
  labelColor: Color(0xff666666),
  indicatorColor: Colors.transparent,
  unselectedLabelColor: Color(0xff666666),
  tabs: <Widget>[
    GestureDetector(
      onTap: () {
        widget.onItemTapped(5);
      },
      child: Tab(
        text: 'Explore',
      ),
    ),
    GestureDetector(
      onTap: () {
        Navigator.pushNamed(context, '/bookService');
      },
      child: Tab(
        text: 'Book Service',
      ),
    ),
    Tab(
      text: 'Shop',
    ),
    Tab(
      icon: Icon(
        FontAwesomeIcons.inbox,
      ),
    ),
  ],
),

1 个答案:

答案 0 :(得分:0)

您可以使用Transform小部件并使用其scale属性并用Icon小部件包装来更改图标的大小。下面的工作代码:

Tab(
      icon: Transform.scale(
      child: Icon(
        Icons.ac_unit,
      ),
        scale: 0.6
      )
    ),

Transform小部件也不会影响标签栏的布局,而只会缩放其子级。您可以根据需要使用scale值。

enter image description here

希望这能回答您的问题。