Flutter&鸿蒙next中封装一个列表组件

简介: Flutter&鸿蒙next中封装一个列表组件
  1. 创建Flutter项目
    首先,确保你已经安装了Flutter SDK,并创建一个新的Flutter项目:

flutter create podcast_app
cd podcast_app

  1. 封装列表组件
    我们将在lib目录下创建一个新的文件,命名为podcast_list.dart,用于封装播客列表。

import 'package:flutter/material.dart';

class Podcast {
final String title;
final String description;

Podcast(this.title, this.description);
}

class PodcastList extends StatelessWidget {
final List podcasts;

PodcastList({required this.podcasts});

@override
Widget build(BuildContext context) {
return ListView.builder(
itemCount: podcasts.length,
itemBuilder: (context, index) {
final podcast = podcasts[index];
return Card(
margin: const EdgeInsets.symmetric(vertical: 8.0),
child: ListTile(
title: Text(podcast.title),
subtitle: Text(podcast.description),
onTap: () {
// 点击处理逻辑
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('你选择了播客: ${podcast.title}')),
);
},
),
);
},
);
}
}

  1. 使用列表组件
    现在,我们可以在主应用文件中使用这个播客列表组件。在lib/main.dart中,我们将创建一个简单的UI,展示多个播客。

import 'package:flutter/material.dart';
import 'podcast_list.dart'; // 导入播客列表组件

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

class PodcastApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Podcast App',
home: PodcastHomePage(),
);
}
}

class PodcastHomePage extends StatelessWidget {
// 示例播客数据
final List podcasts = [
Podcast('播客一', '这是播客一的描述'),
Podcast('播客二', '这是播客二的描述'),
Podcast('播客三', '这是播客三的描述'),
Podcast('播客四', '这是播客四的描述'),
Podcast('播客五', '这是播客五的描述'),
];

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('播客列表'),
),
body: PodcastList(podcasts: podcasts), // 使用播客列表组件
);
}
}

  1. 运行应用
    在终端中运行以下命令以启动应用:

flutter run

相关文章
|
4月前
|
开发者 容器
鸿蒙HarmonyOS - SideBarContainer 组件自学指南
`SideBarContainer` 是 HarmonyOS 提供的双区域容器组件,适用于「左侧导航 + 右侧内容」布局,如后台管理界面、文件管理器等。它支持三种布局类型:Embed(并排)、Overlay(悬浮)和 Auto(自动切换),并提供折叠、拖拽、控制按钮等功能。本文通过示例代码详解其用法,包括子组件限制、显示模式控制、尺寸参数设置、控制按钮与分割线样式定制,以及常见问题解答。掌握该组件可高效构建复杂页面结构,推荐从 Embed 模式入手逐步进阶。
104 9
鸿蒙HarmonyOS - SideBarContainer 组件自学指南
|
3月前
|
容器
45.[HarmonyOS NEXT RelativeContainer案例二] 精确控制组件间距:外边距在相对布局中的高级应用
在HarmonyOS NEXT的UI开发中,组件之间的间距控制对于创建美观、易用的界面至关重要。RelativeContainer不仅提供了强大的锚点定位系统,还可以结合外边距(margin)属性实现更精细的布局控制。本教程将详细讲解如何在RelativeContainer中巧妙运用外边距,帮助你掌握这一实用技巧。
110 29
|
3月前
|
开发者 容器
44.[HarmonyOS NEXT RelativeContainer案例一] 掌握组件锚点布局:打造灵活精准的UI定位系统
在HarmonyOS NEXT的UI开发中,精确控制组件位置是构建复杂界面的关键。RelativeContainer作为一种强大的布局容器,通过锚点系统提供了精确定位能力,使开发者能够创建出灵活且精准的UI布局。本教程将详细讲解如何使用RelativeContainer的锚点布局功能,帮助你掌握这一核心技术。
110 4
|
3月前
|
数据安全/隐私保护 UED 容器
17.[HarmonyOS NEXT Column案例一(下)] 表单组件的详细实现与样式定制
在上一篇教程中,我们介绍了Column组件的基本概念和参数设置。本篇将深入探讨登录表单中各个子组件的实现细节,包括Text、TextInput和Button组件的属性设置和样式定制,以及如何将这些组件组合成一个完整的登录表单界面。
94 4
|
3月前
|
存储 数据安全/隐私保护 容器
16.[HarmonyOS NEXT Column案例一(上)] 使用Column组件构建垂直表单布局的基础指南
在HarmonyOS NEXT应用开发中,布局是构建用户界面的基础。本教程将详细讲解如何使用Column组件创建垂直排列的表单布局,通过一个登录表单的实例,展示Column组件的基本用法、间距控制和对齐方式等核心知识点。
83 4
|
3月前
|
UED 容器
43.[HarmonyOS NEXT Row案例十一] 构建智能分页控件:Row组件实现页码与翻页按钮的完美结合
分页控件是数据展示类应用中不可或缺的导航元素,它允许用户在大量数据中进行有序浏览。本教程将详细讲解如何使用HarmonyOS NEXT的Row组件创建一个功能完善的分页控件,实现页码显示与前后翻页按钮的完美结合。 分页控件在各类应用场景中广泛应用,如电子商城的商品列表、新闻应用的文章列表、图库应用的图片浏览等。通过合理的设计和交互,可以提升用户的浏览体验和数据访问效率。
82 3
|
3月前
|
数据库 开发者 UED
37.[HarmonyOS NEXT Row案例五] 构建智能聊天气泡:Row组件的reverse属性妙用
在即时通讯应用中,聊天气泡是一个核心UI元素,它需要能够区分发送方和接收方的消息,并以不同的样式和位置显示。本教程将详细讲解如何使用HarmonyOS NEXT的Row组件创建反向排列的消息气泡,重点介绍reverse属性的巧妙应用,帮助开发者构建出专业、美观的聊天界面。
84 3
|
3月前
|
存储 数据处理 UED
19.[HarmonyOS NEXT Column案例二(下)] 时间线组件的详细实现与样式定制
在上一篇教程中,我们介绍了Column组件的reverse属性及其在时间线应用中的基本用法。本篇将深入探讨时间线中各个子组件的实现细节,包括ForEach循环渲染、Row布局、Text组件的样式设置,以及如何通过这些组件构建一个完整的时间线界面。
91 2
|
3月前
|
设计模式 缓存 容器
06.HarmonyOS Next UI进阶:Text组件与视觉样式完全指南
在HarmonyOS Next应用开发中,Text组件是最基础也是最常用的UI元素之一。它不仅用于显示文本内容,还可以通过丰富的样式属性实现各种视觉效果。掌握Text组件的样式设置,是构建精美UI界面的基础技能。
157 1
|
6月前
|
前端开发 API 开发者
harmonyOS基础- 快速弄懂HarmonyOS ArkTs基础组件、布局容器(前端视角篇)
本文由黑臂麒麟(6年前端经验)撰写,介绍ArkTS开发中的常用基础组件与布局组件。基础组件包括Text、Image、Button等,支持样式设置如字体颜色、大小和加粗等,并可通过Resource资源引用统一管理样式。布局组件涵盖Column、Row、List、Grid和Tabs等,支持灵活的主轴与交叉轴对齐方式、分割线设置及滚动事件监听。同时,Tabs组件可实现自定义样式与页签切换功能。内容结合代码示例,适合初学者快速上手ArkTS开发。参考华为开发者联盟官网基础课程。
450 75
harmonyOS基础- 快速弄懂HarmonyOS ArkTs基础组件、布局容器(前端视角篇)