Flutter图标库插件humanitarian_icons的使用

发布于 1周前 作者 gougou168 来自 Flutter

Flutter图标库插件humanitarian_icons的使用

插件介绍

Humanitarian Icons (Unofficial) 是一个包含约300个图标的库。请注意,该插件与联合国人道主义协调办公室无关。

联合国人道主义协调办公室(OCHA**[1]**创建了一一套500个免费的人道主义图标,以帮助救援人员快速、简单地呈现关于紧急情况和危机的信息。

当灾难发生时,所有不同的人道主义机构和工作人员都需要收集受影响地区和需求的准确信息,并确定谁最适合提供帮助。这需要复杂的信息以一种所有人都能理解的方式快速呈现出来。


使用示例

最简单的的方法是按照以下方式使用此库:

import 'package:humanitarian_icons/humanitarian_icons.dart';

...
    child: Icon(
      HumanitarianIcons.ambulance,
      size: 35.0,
    ),
...

完整的示例可以在example/app中查看,该应用以画廊格式显示所有图标。


示例代码

import 'package:flutter/material.dart';

import 'data.dart';

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

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Humanitarian Icons App',
      home: ExampleWidget(),
      debugShowCheckedModeBanner: false,
    );
  }
}

class ExampleWidget extends StatelessWidget {
  const ExampleWidget({Key key}) : super(key: key);

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Colors.brown[900],
        title: Text('Humanitarian Icons App'),
      ),
      body: GridView.count(
        crossAxisCount: MediaQuery.of(context).size.width > 768 ? 8 : 4,
        scrollDirection: Axis.vertical,
        children: List.generate(iconList.length, (index) {
          return Center(
            child: TextButton(
              onPressed: () {
                showDialog<String>(
                  context: context,
                  builder: (BuildContext context) => SimpleDialog(
                    backgroundColor: Colors.black87,
                    children: <Widget>[
                      Center(
                        child: Padding(
                          padding: const EdgeInsets.all(8.0),
                          child: Icon(
                            iconList[index],
                            size: 40.0,
                            color: Colors.lightGreenAccent,
                          ),
                        ),
                      ),
                      Padding(
                        padding: const EdgeInsets.all(8.0),
                        child: Text(
                          iconNames[index],
                          textAlign: TextAlign.center,
                          style: TextStyle(
                            fontSize: 20.0,
                            fontWeight: FontWeight.w600,
                            color: Colors.lightGreenAccent,
                          ),
                        ),
                      ),
                    ],
                  ),
                );
              },
              child: Icon(
                iconList[index],
                color: Colors.red,
                size: 50.0,
              ),
            ),
          );
        }),
      ),
    );
  }
}

更多关于Flutter图标库插件humanitarian_icons的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter图标库插件humanitarian_icons的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,下面是一个关于如何在Flutter项目中使用humanitarian_icons图标库的代码示例。humanitarian_icons是一个包含人道主义相关图标的Flutter图标库,非常适合用于需要展示这些特定类型图标的应用程序。

步骤 1: 添加依赖

首先,你需要在你的pubspec.yaml文件中添加humanitarian_icons依赖。打开你的pubspec.yaml文件,并在dependencies部分添加以下行:

dependencies:
  flutter:
    sdk: flutter
  humanitarian_icons: ^latest_version  # 请替换为最新的版本号

然后,运行flutter pub get命令来安装依赖。

步骤 2: 导入图标库

在你的Dart文件中,导入humanitarian_icons库。例如,在你的主页面文件main.dart中:

import 'package:flutter/material.dart';
import 'package:humanitarian_icons/humanitarian_icons.dart';

步骤 3: 使用图标

现在你可以在你的应用程序中使用humanitarian_icons中的图标了。以下是一个简单的示例,展示如何在AppBarListTile中使用这些图标:

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Humanitarian Icons Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Humanitarian Icons Demo'),
        leading: IconButton(
          icon: Icon(HumanitarianIcons.aid_kit), // 使用humanitarian_icons中的图标
          onPressed: () {},
        ),
      ),
      body: ListView(
        children: <Widget>[
          ListTile(
            leading: Icon(HumanitarianIcons.food),
            title: Text('Food'),
          ),
          ListTile(
            leading: Icon(HumanitarianIcons.water),
            title: Text('Water'),
          ),
          ListTile(
            leading: Icon(HumanitarianIcons.medicine),
            title: Text('Medicine'),
          ),
          // 可以继续添加更多图标
        ],
      ),
    );
  }
}

完整代码

以下是完整的main.dart代码示例:

import 'package:flutter/material.dart';
import 'package:humanitarian_icons/humanitarian_icons.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Humanitarian Icons Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Humanitarian Icons Demo'),
        leading: IconButton(
          icon: Icon(HumanitarianIcons.aid_kit),
          onPressed: () {},
        ),
      ),
      body: ListView(
        children: <Widget>[
          ListTile(
            leading: Icon(HumanitarianIcons.food),
            title: Text('Food'),
          ),
          ListTile(
            leading: Icon(HumanitarianIcons.water),
            title: Text('Water'),
          ),
          ListTile(
            leading: Icon(HumanitarianIcons.medicine),
            title: Text('Medicine'),
          ),
        ],
      ),
    );
  }
}

这个示例展示了如何在Flutter应用程序中使用humanitarian_icons图标库。你可以根据需要替换或添加更多的图标。确保你安装了最新版本的humanitarian_icons库,以获取所有可用的图标。

回到顶部