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

相关推荐
ZH15455891311 小时前
Flutter for OpenHarmony Python学习助手实战:GUI桌面应用开发的实现
python·学习·flutter
一只大侠的侠1 小时前
Flutter开源鸿蒙跨平台训练营 Day6ArkUI框架实战
flutter·开源·harmonyos
一只大侠的侠2 小时前
Flutter开源鸿蒙跨平台训练营 Day 4实现流畅的下拉刷新与上拉加载效果
flutter·开源·harmonyos
ZH15455891312 小时前
Flutter for OpenHarmony Python学习助手实战:模块与包管理的实现
python·学习·flutter
微祎_3 小时前
Flutter for OpenHarmony:构建一个 Flutter 镜像绘图游戏,对称性认知、空间推理与生成式交互设计
flutter·游戏·交互
消失的旧时光-19433 小时前
从 Kotlin 到 Dart:为什么 sealed 是处理「多种返回结果」的最佳方式?
android·开发语言·flutter·架构·kotlin·sealed
子春一5 小时前
Flutter for OpenHarmony:色彩捕手:基于 CIELAB 色差模型与人眼感知的高保真色彩匹配游戏架构解析
flutter·游戏·架构
ZH15455891315 小时前
Flutter for OpenHarmony Python学习助手实战:数据库操作与管理的实现
python·学习·flutter
Lionel6895 小时前
Flutter 鸿蒙:获取真实轮播图API数据
flutter
千逐686 小时前
《基于 Flutter for OpenHarmony 的沉浸式天气可视化系统设计与实现》
flutter