Flutter框架跨平台鸿蒙开发——Icon组件基础

一、Icon组件简介

Icon是Flutter中显示图标的组件,Material Design提供了丰富的图标库。

Icon组件结构

Icon组件
icon属性
size属性
color属性
Icons.xxx
IconData
ImageIcon

二、基础用法

最简单的Icon

dart 复制代码
Icon(Icons.star)

带颜色和大小的Icon

dart 复制代码
Icon(
  Icons.star,
  color: Colors.yellow,
  size: 48,
)

三、Material Icons

常用图标

dart 复制代码
Row(
  mainAxisAlignment: MainAxisAlignment.spaceAround,
  children: [
    Icon(Icons.home),
    Icon(Icons.search),
    Icon(Icons.settings),
    Icon(Icons.favorite),
    Icon(Icons.share),
  ],
)

图标分类

dart 复制代码
Column(
  children: [
    Text('导航类'),
    Row(children: [Icon(Icons.home), Icon(Icons.menu), Icon(Icons.arrow_back)]),
    Text('社交类'),
    Row(children: [Icon(Icons.favorite), Icon(Icons.share), Icon(Icons.comment)]),
    Text('媒体类'),
    Row(children: [Icon(Icons.play_arrow), Icon(Icons.pause), Icon(Icons.volume_up)]),
  ],
)

四、完整示例

dart 复制代码
class BasicIconExample extends StatelessWidget {
  const BasicIconExample({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('基础Icon')),
      body: GridView.count(
        crossAxisCount: 4,
        padding: EdgeInsets.all(16),
        mainAxisSpacing: 16,
        crossAxisSpacing: 16,
        children: [
          _buildIconCard(Icons.home, '首页'),
          _buildIconCard(Icons.search, '搜索'),
          _buildIconCard(Icons.settings, '设置'),
          _buildIconCard(Icons.favorite, '收藏'),
          _buildIconCard(Icons.share, '分享'),
          _buildIconCard(Icons.notification, '通知'),
          _buildIconCard(Icons.camera, '相机'),
          _buildIconCard(Icons.mail, '邮件'),
        ],
      ),
    );
  }

  Widget _buildIconCard(IconData icon, String label) {
    return Column(
      mainAxisAlignment: MainAxisAlignment.center,
      children: [
        Icon(icon, size: 32),
        SizedBox(height: 8),
        Text(label, style: TextStyle(fontSize: 12)),
      ],
    );
  }
}

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net

相关推荐
●VON3 小时前
Flutter 鸿蒙插件适配实战:用 device_screen_brightness 2.0.0 控制并监听屏幕亮度
flutter·华为·harmonyos
风早爽太11 小时前
Flutter 开发笔记:share_plus 分享插件
笔记·flutter
●VON12 小时前
Flutter 鸿蒙插件适配实战:用 boot_time_plugin 1.0.0 读取启动时间与运行时长
flutter·华为·harmonyos
不羁的木木14 小时前
给鸿蒙 App 增加唤起系统邮件发送能力 —— flutter_email_sender 的鸿蒙使用指南
flutter·华为·harmonyos
●VON15 小时前
Flutter 鸿蒙插件适配实战:用 accurate_storage_info 0.1.1 查询总量、可用量与已用量
flutter·华为·harmonyos
●VON16 小时前
Flutter 鸿蒙插件适配实战:用 network_status_bridge 0.0.5 查询并监听默认网络
网络·flutter·华为·harmonyos·鸿蒙
安好说AI17 小时前
Flutter for OpenHarmony 实战:媒体选择库 adaptive_image_picker 的鸿蒙化适配全解读
flutter·harmonyos·媒体
恋猫de小郭17 小时前
ADB Wi-Fi 2.0 ,Android 17 把无线调试的连接链路重新做了一遍
android·前端·flutter
●VON17 小时前
Flutter 鸿蒙插件适配实战:用 app_version_details 1.0.3 读取版本号与包名
flutter·华为·harmonyos
●VON20 小时前
Flutter 鸿蒙插件适配实战:用 locale_plus 2.0.0 读取语言、地区与格式偏好
flutter·华为·harmonyos·鸿蒙