Flutter × OpenHarmony 实战:构建企业级复杂列表布局的最佳实践

AI Pika 生成进击的巨人动漫分镜案例 AI Pika 生成进击的巨人动漫分镜案例 Pika 是一个使用AI生成和编辑视频的平台。 阅读详情

Flutter × OpenHarmony 实战:构建企业级复杂列表布局的最佳实践

前言

在跨端开发场景中,“列表”几乎是出现频率最高的 UI 组件之一。从即时通讯联系人列表,到工单系统、审批流、日志面板,80% 的业务页面本质上都是在展示结构化列表数据。

而在真实业务中,列表往往不只是简单的 Text + Icon,而是包含:

  • 头像(CircleAvatar)
  • 主标题 + 副标题
  • 状态信息
  • 时间戳
  • 不同布局对齐策略

本文将基于 Flutter × OpenHarmony 的技术栈,完整拆解一个带头部(leading)和尾部(trailing)的复杂 ListTile 列表布局,并分析其在鸿蒙跨端场景中的工程价值。


在这里插入图片描述

背景

随着 OpenHarmony 生态逐渐成熟,越来越多企业开始采用:

Flutter 作为 UI 层 + OpenHarmony 作为系统底座

这种模式的核心优势是:

  • 一套 Dart 代码,多端运行(Android / iOS / OpenHarmony)
  • UI 高度一致,减少多端适配成本
  • 鸿蒙原生能力(分布式、系统服务)通过插件方式接入

但问题也很现实:

Flutter 的基础控件简单易用,复杂业务布局往往写得很“丑”或很“乱”。

比如常见的联系人列表,如果直接用 Row + Column 手搓,代码会迅速失控:

  • 对齐难维护
  • 自适应差
  • 可读性极低

这时,ListTile + leading + trailing 是最优解之一。


Flutter × OpenHarmony 跨端开发介绍

在 OpenHarmony 上运行 Flutter,本质是:

Flutter Engine (Skia 渲染)
        ↓
OpenHarmony Native Window
        ↓
鸿蒙图形系统(RS / SurfaceFlinger)

在这里插入图片描述

也就是说:

  • Flutter 不关心底层是 Android 还是 Harmony
  • UI 层完全由 Flutter 控制
  • 你的 ListView / ListTile 在鸿蒙上是原生 GPU 渲染

这意味着:

所有 Flutter UI 最佳实践,在 OpenHarmony 上同样成立。

包括本文的复杂列表布局方案。


开发核心代码(详细解析)

在这里插入图片描述

一、完整实现代码

/// 构建带头部和尾部的复杂列表布局
/// 展示包含CircleAvatar头像、自定义trailing(状态和时间)的复杂ListTile
Widget _buildListWithLeadingTrailing(ThemeData theme) {
  final items = [
    {
      'avatar': Colors.blue,
      'name': '张三',
      'email': 'zhangsan@example.com',
      'status': '在线',
      'time': '10:30'
    },
    {
      'avatar': Colors.green,
      'name': '李四',
      'email': 'lisi@example.com',
      'status': '离线',
      'time': '09:15'
    },
    {
      'avatar': Colors.purple,
      'name': '王五',
      'email': 'wangwu@example.com',
      'status': '忙碌',
      'time': '昨天'
    },
  ];
  
  return Container(
    decoration: BoxDecoration(
      borderRadius: BorderRadius.circular(12),
      color: theme.colorScheme.surfaceContainerHighest,
    ),
    child: ListView.separated(
      shrinkWrap: true,
      physics: const NeverScrollableScrollPhysics(),
      itemCount: items.length,
      separatorBuilder: (context, index) => Divider(
        height: 1,
        color: theme.colorScheme.onSurface.withValues(alpha: 0.1),
      ),
      itemBuilder: (context, index) {
        final item = items[index];
        return ListTile(
          leading: CircleAvatar(
            backgroundColor: item['avatar'] as Color,
            child: Text(
              (item['name'] as String)[0],
              style: const TextStyle(color: Colors.white),
            ),
          ),
          title: Text(item['name'] as String),
          subtitle: Text(item['email'] as String),
          trailing: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            crossAxisAlignment: CrossAxisAlignment.end,
            children: [
              Text(
                item['status'] as String,
                style: theme.textTheme.bodySmall?.copyWith(
                  color: theme.colorScheme.primary,
                ),
              ),
              Text(
                item['time'] as String,
                style: theme.textTheme.bodySmall?.copyWith(
                  color: theme.colorScheme.onSurfaceVariant,
                ),
              ),
            ],
          ),
          onTap: () {},
        );
      },
    ),
  );
}

二、数据结构设计解析

final items = [
  {
    'avatar': Colors.blue,
    'name': '张三',
    'email': 'zhangsan@example.com',
    'status': '在线',
    'time': '10:30'
  },
];

这里用的是 Map 模拟业务实体对象,真实项目中通常来自:

  • JSON 接口
  • OpenHarmony 分布式数据服务
  • 本地数据库

对应的领域模型是:

User {
  avatarColor
  name
  email
  status
  lastActiveTime
}

这是一个标准的“通讯录 / IM 联系人”数据结构。


三、Container:列表的视觉容器

return Container(
  decoration: BoxDecoration(
    borderRadius: BorderRadius.circular(12),
    color: theme.colorScheme.surfaceContainerHighest,
  ),

这一层的作用是:

  • 提供圆角卡片效果
  • 与页面背景区分
  • 适配深色模式 / 鸿蒙系统主题

这是企业级 UI 必备的一层语义容器。


四、ListView.separated:工程级最佳实践

ListView.separated(
  shrinkWrap: true,
  physics: const NeverScrollableScrollPhysics(),

为什么不用普通 ListView?

因为在真实页面中:

  • 列表通常嵌套在 SingleChildScrollView
  • 必须关闭自身滚动
  • 必须支持分割线

ListView.separated = 工业级列表方案

自动处理:

  • item 构建
  • separator 构建
  • 滚动性能优化

在这里插入图片描述

五、ListTile:复杂布局的核心武器

1. leading:头像区

leading: CircleAvatar(
  backgroundColor: item['avatar'] as Color,
  child: Text(
    (item['name'] as String)[0],
  ),
),

语义:

  • 左侧固定区域
  • 适合:头像 / 图标 / 设备状态灯

这是 Material 规范级组件设计。


2. title + subtitle:主信息区

title: Text(item['name'] as String),
subtitle: Text(item['email'] as String),

ListTile 内部自动做了:

  • 垂直排版
  • 字体层级
  • 自适应省略

你不需要再手写 Column。


3. trailing:自定义业务状态区

trailing: Column(
  crossAxisAlignment: CrossAxisAlignment.end,
  children: [
    Text(item['status']),
    Text(item['time']),
  ],
),

这是整段代码的精髓。

它实现的是一个非常典型的企业场景:

[头像] 张三
       zhangsan@example.com        在线
                                   10:30

即:

  • 左边是身份信息
  • 右边是业务状态 + 时间轴

这在:

  • IM 系统
  • 工单系统
  • 运维监控
  • OA 审批流

中几乎是标准布局范式。


心得

这类布局在 Flutter × OpenHarmony 项目中的几个工程心得:

1. ListTile 是“企业级控件”

不要再用 Row + Expanded + Column 手搓列表。

ListTile 的优势:

  • 自动语义布局
  • 可读性极高
  • 可维护性强
  • Material / 鸿蒙风格统一

2. trailing = 最强业务扩展点

几乎所有复杂列表,最终都靠 trailing 承载:

  • 状态
  • Tag
  • Badge
  • 时间
  • 操作按钮

这是整个 ListTile 的“业务表达区”。


3. Flutter 布局方案在鸿蒙上零折损

在 OpenHarmony 上:

  • 不需要改一行业务代码
  • 不需要适配尺寸系统
  • 不需要重写渲染逻辑

Flutter 的布局语义 100% 保留。

这就是跨端的工程价值。


总结

通过这一小段看似简单的代码,我们实际上实现的是:

一个符合 Material 设计规范、可直接用于企业级系统的复杂业务列表组件。

它具备:

  • 清晰的结构语义(leading / title / subtitle / trailing)
  • 极高的可维护性
  • 完美的跨端一致性
  • 在 Flutter × OpenHarmony 场景下零成本复用

从工程角度看,这种写法的本质是:

用框架语义组件替代手工布局,用系统能力解决 80% UI 问题。

这也是跨端开发真正的价值所在:
不是写得多炫,而是写得稳、写得久、写得可扩展。

本文通过一个看似简单但极具代表性的复杂列表案例,系统性地展示了在 Flutter × OpenHarmony 跨端架构下,如何利用 ListView.separated 与 ListTile 构建高可维护、强语义、企业级可复用的业务列表组件。从工程实践角度来看,这种写法本质上是在用框架提供的结构化语义组件,替代低层级的手工布局组合,不仅显著降低了 UI 复杂度,也提升了代码的可读性与长期演进能力。在鸿蒙多端场景中,这种布局模式可以做到“一次开发,多端一致”,真正体现了跨端技术在真实业务系统中的核心价值:稳定、可扩展、可持续演进。

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

24、JavaFX MP3 音频播放器开发详解 本文详细介绍了如何使用JavaFX开发一个功能丰富的MP3音频播放器,涵盖文件拖放加载、音频播放控制、音频频谱可视化、进度定位滑块等核心功能,并提供了完整的代码实现和解析。适合希望学习JavaFX多媒体应用开发的开发者参考。 阅读详情

相关推荐

eNSP-Pro配置又丢了?手把手教你用导出功能防患于未然

本文详细介绍了eNSP-Pro配置防丢失的全套方案,包括运行时内存、虚拟存储设备和宿主机文件系统的配置存储机制,以及多维度备份策略和特殊场景下的恢复技巧。通过优化保存流程、自动化定时导出和版本化管理,帮助网络工程师有效防止配置丢失,提升工作效率。

weixin_42665725的博客 243

Flutter for OpenHarmony:沉浸式 HeroSection 与联动标签 — 复杂首页布局艺术

本文介绍了使用Flutter为OpenHarmony开发电影APP首页的布局技巧。通过Stack布局实现沉浸式Hero Section,使电影海报延伸至状态栏下方,并利用渐变遮罩保证文字可读性。针对鸿蒙设备,适配刘海屏状态栏高度。联动分类标签采用横向滚动设计,点击切换时带动画效果和列表数据更新。高性能横向电影列表通过预定义Section高度避免嵌套滚动问题,整体布局兼顾美观与性能。

jiang_style的博客 1万+

新手必看:Infineon Memtools烧录配置全流程(附常见错误解决方案)

本文为嵌入式开发新手提供了Infineon AURIX开发环境搭建与Memtools烧录的全流程实战指南。详细解析了ADS、DAS和Memtools三大核心工具的角色与协同关系,并重点讲解了Memtools的图形界面配置步骤、烧录操作流程,以及针对“无法连接设备”、“编程失败”等常见错误的系统性排查与解决方案,帮助开发者快速上手并规避典型陷阱。

weixin_29189377的博客 635

Flutter × OpenHarmony 混合布局实战:在一个容器中优雅组合列表与网格

本文介绍了在Flutter与OpenHarmony跨端开发中实现混合布局的实战方法。通过将列表(ListView)与网格(GridView)组合在同一个容器中,构建上下分区的界面结构,中间用分隔线隔开。文章详细解析了核心代码实现,包括使用Column组织布局、设置shrinkWrap属性适配内容高度、禁用内部滚动避免冲突等关键技巧。同时分享了在OpenHarmony设备上保证UI一致性的设计思路,如利用ThemeData统一风格、将复杂布局拆分为多个组件提升可维护性等。这种混合布局模式特别适合"信

m0_71592416的博客 741

汇川伺服驱动器参数优化实战指南

本文详细介绍了汇川伺服驱动器参数优化的实战技巧,涵盖控制模式选择、电子齿轮比调整、刚性匹配与振动抑制等关键内容。通过实际案例和实用技巧,帮助工程师快速掌握伺服驱动器参数调校方法,提升设备运行精度和稳定性。特别针对高精度定位和高速响应场景提供了专业指导。

weixin_29070721的博客 736

国产谷歌地球,地形分析秒杀同款地图软件

咱们做地质、林业、水文、水利、电力、GIS、地图、水保、环境的,需要经常用到各种数据,比如影像、地形、矢量、模型等,但目前80%的规划大数据展示都离不开ArcGIS,令人头大的是很多朋友连ArcGIS软件安装起来都费劲。。。 那不会ArcGIS又装不了Google Earth怎么开展工作? 今天推荐大家一款国产免费专业地图浏览下载测量分析神器—图新地球 图新地球,国产三维gis软件。可以查看高清卫星影像地形以及其他很多常用电子地图,对地图需求的掌握远胜过Google Maps,而且上手比国外软件要简单

GISWorld3D的博客 3686

Flutter for OpenHarmony 实战之基础组件:第十八篇 布局终极者 CustomScrollView 与 Slivers

如果你想打造一个像“京东/淘宝”首页那样:头部会随滑动缩小并吸顶、中间是横向滑动的广告位、底部是瀑布流列表,且整个页面共用一个顺滑的滚动条。那么普通的 `ListView` 就力不从心了。今天,我们将掌握 Flutter 滚动布局的顶峰 —— `Slivers` 体系。

好代码自己会说话,烂代码才需要注释来圆谎 1万+

Python全栈入门到实战【JavaScript篇 15】async/await与Fetch API,打通前后端数据通道

Fetch API是浏览器内置的现代HTTP请求接口,用于向服务器发送请求并获取响应。它是(XHR)的替代品。学习Fetch的目标非常明确——用JS从后端API获取数据,并渲染到前端页面。这标志着前后端数据通道的打通,是实现全栈开发的核心技能。try {// 等待Promiseconst parallel = await Promise.all([ // 并行等待]);

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 1985

Flutter for OpenHarmony 实战:列表布局实现

自定义列表项使用和自定义布局实现,适用于需要复杂布局的列表项。@overrideBoxShadow(),],),Container(),),),),Expanded(Text('用户index',),),Text('这是一个自定义列表项,包含头像和详细信息',),),],),),Icon(),],),),},使用方法使用Container创建列表项容器添加decoration设置背景、圆角和阴影使用Row和Column实现复杂布局。

2601_95123683的博客 657

YOLOv11 TensorRT极致加速:C++部署性能优化完全指南

购买即可解锁300+YOLO优化文章,并且还有海量深度学习复现项目,价格仅需两杯奶茶的钱,别人有的本专栏也有!

LXY_LOVE36的博客 118

借助AI搞定国社科“研究内容”部分!用Gemini 3 Pro轻松撰写6大模块,让基金本子效率质量更上一层楼

所谓研究整体框架,是对课题研究逻辑结构与技术路径的系统阐述,其核心在于通过研究目标分解、研究内容模块化与研究方法整合,构建一个层次清晰、逻辑严密、科学可行的研究体系。撰写要求:1)分要点、分层次列出主要研究内容,保持各部分之间的逻辑性、层次性与系统性;研究可行性可理解为开展本课题在理论基础、研究方法、研究条件、人员结构、平台支撑及外部协作等方面的可实施程度,可从内部条件与外部条件两个维度进行系统论证。研究背景为:我正在申报xxx年xxx(项目名称),课题名称为:xxx,拟采用的主要研究方法包括:xxx等;

智能AI让学术科研更容易 966

Flutter for OpenHarmony 实战 列表项复杂布局实现

组件化开发将功能抽离为独立的组件,提高代码复用性遵循 Flutter 的组件化开发理念,保持组件的单一职责原则通过构造函数传递参数,实现组件的灵活性和可配置性布局技术使用ContainerColumnRow等基础布局组件构建复杂界面运用PaddingSizedBox等组件调整间距和布局使用ClipRRect实现圆角效果采用卡片式设计,提升 UI 质感样式技术使用实现阴影、圆角等效果运用创建渐变背景合理设置字体大小、颜色和字重,提高可读性使用Icon和IconButton。

2301_79166208的博客 603

【4. BSP开发指南 - [4.6. 安全启动使用说明]】

【4. BSP开发指南 - [4.6. 安全启动使用说明]】

Sugar_wolf的博客 276

Flutter for OpenHarmony 实战之基础组件:第二篇 Row 与 Column 弹性布局详解

线性布局是 UI 开发中最基础的布局模型。本文深入剖析 Flutter 中的 Row(水平布局)和 Column(垂直布局)组件,详解主轴与交叉轴概念、Flex 弹性布局机制,并结合 OpenHarmony 折叠屏特性,演示如何实现动态响应式布局。

好代码自己会说话,烂代码才需要注释来圆谎 1万+

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Flutter for OpenHarmony 实战之基础组件:第五十三篇 NestedScrollView — 掌控复杂的嵌套滚动与联动头部

本文介绍了如何在Flutter for OpenHarmony平台上使用NestedScrollView实现复杂的嵌套滚动效果。主要内容包括: NestedScrollView的核心结构,分为headerSliverBuilder和body两部分,分别处理头部折叠和内容滚动。 实战演示构建带吸顶TabBar的折叠页面,通过SliverAppBar实现可伸缩头部,并配合TabBarView展示多个列表内容。 进阶技巧:使用SliverOverlapAbsorber和SliverOverlapInjector解

好代码自己会说话,烂代码才需要注释来圆谎 8280

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

构建跨端推荐文章区域:Flutter × OpenHarmony 实战指南

本文介绍了使用 Flutter × OpenHarmony 跨端开发构建推荐阅读区域的实战方法。通过 Flutter 的 UI 渲染能力结合 OpenHarmony 的多端适配机制,实现一次开发多端运行的效果。文章详细解析了核心代码实现,包括横向滑动推荐列表(使用 ListView.builder 和 scrollDirection 属性)以及美观的文章卡片设计(包含图片、渐变叠加、分类标签和作者信息)。该方案能有效提升开发效率,保证多端一致的用户体验,适用于移动端及智能设备应用开发。

博客 930

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Flutter for OpenHarmony 实战HarmonyOS ArkTS API 24 列表项复杂布局实现

本项目实现了一个图文混排的复杂列表布局,展示了 Flutter 中构建精美卡片式列表的方法。项目虽然代码量不大,但涉及到了布局、样式、组件封装等多个方面的知识点,是学习 Flutter UI 开发的好例子。从技术实现来看,项目充分展示了 Flutter 布局系统的强大能力。通过 Row、Column、Container 等基础组件的组合,可以构建出各种复杂的布局效果。Padding、Margin、Decoration 等属性提供了丰富的样式控制能力。从组件设计来看,项目遵循了组件化和单一职责的设计原则。

2301_79516858的博客 356

Flutter for OpenHarmony 实战之基础组件:第三十篇 IntrinsicHeight 与 IntrinsicWidth — 解决布局中的“身高不齐”问题

摘要:本文介绍了Flutter中的IntrinsicHeight和IntrinsicWidth组件,用于解决Row或Column中子组件高度或宽度不一致的问题。通过示例代码演示了如何实现子组件的高度或宽度自动对齐,并强调了性能优化的注意事项。在OpenHarmony平台上,这些组件能有效应对字体大小变化和分屏场景下的布局适配。建议局部使用以避免性能损耗,同时提供了替代方案和最佳实践建议。

好代码自己会说话,烂代码才需要注释来圆谎 1万+

Flutter与OpenHarmony大师列表组件开发实战

本文介绍了在Flutter和OpenHarmony平台上实现大师列表组件的关键技术。Flutter版本使用StatefulWidget管理关注状态,通过Set存储已关注索引,采用Row和Column实现列表项布局,包含头像、认证标识、专业信息和动态关注按钮。OpenHarmony版本则使用@State管理状态,定义MasterItem接口,展示了跨平台开发的差异与相似性。两种实现都注重交互体验,支持点击跳转详情页和关注状态切换,为内容社区应用提供了专业级的列表组件解决方案。

2501_94623389的博客 1063

GridAspectExplorer:Flutter × Harmony6.0 构建多宽高比网格布局实战

本文介绍了如何在Flutter × Harmony6.0环境下实现多种宽高比的网格布局。通过GridAspectExplorer示例,详细讲解了利用GridView的childAspectRatio属性和AspectRatio组件动态控制网格项比例的方法,支持1:1、1:2、2:1等多种比例。文章还分享了跨端开发经验,包括PC与移动端适配技巧、视觉优化建议等。这套方案能帮助开发者快速构建灵活高效的网格界面,实现一次开发多端运行的效果。

一键难忘的博客 1万+

# Flutter for OpenHarmony 实战之基础组件:第三篇 Stack 层叠布局详解

在 UI 开发中,元素重叠显示是常见需求,例如图片上的标签、头像旁的红点等。本文将深入讲解 Flutter 的 Stack 层叠布局模型,Positioned 定位组件的使用技巧,并演示如何利用 IndexedStack 优化鸿蒙应用的状态切换性能。

好代码自己会说话,烂代码才需要注释来圆谎 1万+

Flutter × OpenHarmony 实战:打造健身俱乐部活动管理模块

本文介绍了使用Flutter与OpenHarmony开发健身俱乐部活动管理模块的实践方案。通过Flutter的Widget构建体系和OpenHarmony的跨端适配能力,实现了一次开发多端运行的俱乐部活动列表功能。文章详细解析了核心代码实现,包括Column布局、Card容器设计以及模块化的活动条目组件_buildActivityItem,展示了如何利用SizedBox、padding等细节控制UI层次。该方案具有高性能、可复用、可扩展的特点,为健身俱乐部数字化管理提供了跨端开发参考,也适用于教育、零售等多

dgw25sf的博客 613

Flutter for OpenHarmony 实战:toggle_switch 分段控件设计与复杂交互闭环

本文介绍了如何在Flutter for OpenHarmony项目中使用toggle_switch插件实现高级分段控件交互。文章对比了Toggle Switch与DropdownButton的优劣势,指出Toggle Switch在高频操作路径中的优势。详细讲解了插件的集成方法,并提供了双态开关和多段开关的实战代码示例。特别针对鸿蒙系统提出了响应式宽度和无障碍适配建议,最后展示了一个完整的性别选择器实现案例。该插件能显著提升应用交互体验,使设置项更加灵动。

cannonjinx的博客 1万+

Flutter for OpenHarmony 实战:Stack 堆叠布局详解

Stack是Flutter中用于实现组件堆叠布局的核心控件,允许子组件在垂直方向上按Z轴顺序堆叠排列。在OpenHarmony跨平台框架中,Stack保持了与标准Flutter一致的行为逻辑,但需特别注意鸿蒙系统的渲染特性和性能优化策略。Stack作为Flutter for OpenHarmony中不可或缺的布局控件,通过其灵活的堆叠机制,为开发者提供了构建复杂UI的强大能力。核心价值:实现Z轴方向的组件堆叠,是创建现代UI效果的基础最佳实践优先使用Positioned进行精确控制通过。

Abin 394

Flutter for OpenHarmony 实战之基础组件:第十二篇 GridView 网格布局详解

在 App 开发中,除了线性的列表,网格布局是展示图片、商品和功能的最佳方式。本文将全方位解析 Flutter 的 GridView 组件,从基础的固定列数网格,到高性能的动态懒加载,最后教你如何利用 LayoutBuilder 在 OpenHarmony 平板与折叠屏上实现自适应响应式网格。

好代码自己会说话,烂代码才需要注释来圆谎 1万+

Flutter for OpenHarmony 实战:SliverList 滑动列表详解

Flutter 的滚动视图采用 Sliver 渲染协议,通过分块渲染(viewport-based rendering)实现高效滚动。核心组件关系如下:fill:#333;important;important;fill:none;color:#333;color:#333;important;fill:none;fill:#333;height:1em;

摘星编程的博客 819
上一篇: Flutter × OpenHarmony 实战:用 ListTile 构建高复用的设置型列表界面
下一篇: Flutter × OpenHarmony 跨端网格布局实践:自定义列数的GridView实现
放风铃的兔子
放风铃的兔子 优质创作者: 人工智能技术领域 优质创作者: 人工智能技术领域
博客等级 码龄3年 1万+粉丝 1762原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

放风铃的兔子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值