首页 > 解决方案 > 颤振改变标签宽度

问题描述

我有 4 个项目的标签,最后一个是带有图标的标签。我想更改最后一个选项卡的宽度,使其更小。所以,它会更好看。使用Container和给出宽度不起作用。有什么建议可以让它发挥作用吗?

在此处输入图像描述

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,
      ),
    ),
  ],
),

标签: flutterflutter-layout

解决方案


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

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

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

在此处输入图像描述

希望这能回答你的问题。


推荐阅读