如何在颤动中为标签栏下划线添加渐变?

Posted

技术标签:

【中文标题】如何在颤动中为标签栏下划线添加渐变?【英文标题】:How to add gradient to tab bar underline in flutter? 【发布时间】:2021-09-01 16:47:37 【问题描述】:

我正在寻找将渐变添加到标签栏下划线的方法。谢谢。

【问题讨论】:

问题已经解决enter link description here 【参考方案1】:

您必须直接在接受BoxDecorationTabBar 小部件中设置indicator 属性,然后调整其他设置,例如indicatorPaddingindicatorWeight

以下是一段工作代码示例。您可以在 dartpad here 中查看现场演示。

import 'package:flutter/material.dart';

void main() 
  runApp(TabBarDemo());


class TabBarDemo extends StatelessWidget 
  @override
  Widget build(BuildContext context) 
    return MaterialApp(
      home: DefaultTabController(
        length: 3,
        child: Scaffold(
          appBar: AppBar(
            backgroundColor: Colors.black,
            bottom: TabBar(                    
              indicator: BoxDecoration(             
                gradient: LinearGradient(
                  colors: [
                    Colors.green,
                    Colors.blue,
                    Colors.red,
                  ],
                ),
                borderRadius: BorderRadius.all(
                  Radius.circular(5),
                ),
              ),
              indicatorWeight: 5,
              indicatorPadding: EdgeInsets.only(top:40),              
              tabs: [
                Tab(icon: Icon(Icons.directions_car)),
                Tab(icon: Icon(Icons.directions_transit)),
                Tab(icon: Icon(Icons.directions_bike)),
              ],
            ),
            title: Text('Tabs Demo'),
          ),
          body: TabBarView(
            children: [
              Icon(Icons.directions_car),
              Icon(Icons.directions_transit),
              Icon(Icons.directions_bike),
            ],
          ),
        ),
      ),
    );
  


【讨论】:

以上是关于如何在颤动中为标签栏下划线添加渐变?的主要内容,如果未能解决你的问题,请参考以下文章

如何在颤动中自定义标签栏宽度?

如何在颤动中为原始字符串添加颜色

如何在颤动中将状态栏图标和文本颜色更改为黑色?

如何在 ListView 中为 TextView 的背景颜色添加渐变效果?

如何在 Swift 中的 UI 标签栏上应用渐变?

如何在 Flutter 中为卡片添加渐变?