Flutter Widget - Badges 标记

Posted 优小U

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter Widget - Badges 标记相关的知识,希望对你有一定的参考价值。

参考文档:https://pub.dev/packages/badges

安装

pubspec.yaml 中加入:

dependencies:
  badges: ^3.0.2

基本用法

注意!在 Flutter 3.7 中,Badge 小部件被引入到 Material 库中,因此为了避免模棱两可的导入,您需要像这样导入包:

import 'package:badges/badges.dart' as badges;

然后使用 badges.Badge 小部件而不是 Badge 小部件。

badges.Badge(
  badgeContent: Text('3'),
  child: Icon(Icons.settings),
)

高级用法

import 'package:flutter/material.dart';
import 'package:badges/badges.dart' as badges;

void main() 
  runApp(const MyApp());


class MyApp extends StatelessWidget 
  const MyApp(super.key);

  
  Widget build(BuildContext context) 
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Badges 标记'),
        ),
        body: Center(
          child: badges.Badge(
            badgeContent: const Text('6',
              style: TextStyle(color: Colors.white),
            ),
            position: badges.BadgePosition.topEnd(top: -5, end: -4),
            badgeStyle: badges.BadgeStyle(
              shape: badges.BadgeShape.square,
              badgeColor: Colors.blue,
              padding: const EdgeInsets.all(5),
              borderRadius: BorderRadius.circular(4),
              borderSide: const BorderSide(color: Colors.white, width: 2),
              borderGradient: const badges.BadgeGradient.linear(
                colors: [Colors.red, Colors.yellow],
                begin: Alignment.topCenter,
                end: Alignment.bottomCenter
              ),
              elevation: 0
            ),
            badgeAnimation: const badges.BadgeAnimation.fade(
              animationDuration: Duration(seconds: 1),
              curve: Curves.easeInOut
            ),
            child: const Icon(
              Icons.access_time,
              size: 40,
              color: Colors.orange,
            )
          )
        )
      )
    );
  


以上是关于Flutter Widget - Badges 标记的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 基础组件:Widget简介

Flutter Container Widget 和 Text Widget

Flutter 中 stateless 和 stateful widget 的区别[Flutter专题60]

一统天下 flutter

Flutter一切皆widget但是不要将所有东西放入一个widget

Flutter学习 Widget简介