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

相关文章
|
存储 UED 开发者
30.[HarmonyOS NEXT Column案例八(上)] 构建现代聊天界面:层叠布局与消息列表的实现
在HarmonyOS NEXT应用开发中,聊天界面是一种常见且复杂的界面类型,它需要展示消息列表、输入区域以及各种交互元素。本教程将详细讲解如何使用Column组件作为主容器,结合Stack组件实现层叠布局,创建一个现代化的聊天界面。通过ChatPage组件的实际案例,我们将展示如何构建包含消息列表和输入区域的复合布局,帮助开发者掌握复杂布局的实现技巧。
203 5
|
设计模式 容器
13.HarmonyOS流式卡片列表实现指南:Flex多行布局详解
在现代移动应用开发中,流式卡片列表是一种常见且实用的UI设计模式。它能够自适应屏幕宽度,在有限空间内高效展示多个内容项。本教程将详细讲解如何使用HarmonyOS的ArkUI框架中的Flex组件实现一个灵活的流式卡片列表,重点关注多行布局与对齐策略的应用。
398 2
|
开发工具 Android开发 iOS开发
HarmonyOS实战:腾讯IM之聊天列表搭建(一)
本文详细介绍了在鸿蒙系统中实现腾讯IM聊天列表页面的过程。由于腾讯仅提供了接口而无现成UI,需自行开发。文章涵盖需求分析(如删除功能、时间排序、消息更新)、技术实现(展示会话列表、新增会话、删除会话)等内容,并附代码示例。最终实现了类似微信的聊天列表功能,建议点赞收藏以便后续参考。
452 5
HarmonyOS实战:腾讯IM之聊天列表搭建(一)
|
开发者
鸿蒙开发:如何实现列表吸顶
鸿蒙当中实现一个列表吸顶,很是简单,官方为我们提供了ListItemGroup组件,使用它,便可以轻松搞定
240 6
鸿蒙开发:如何实现列表吸顶
|
12月前
|
数据库 UED 索引
129. [HarmonyOS NEXT 实战案例四:SideBarContainer] 侧边栏容器实战:音乐播放器侧边栏 - 播放列表与歌单管理 基础篇
在现代音乐播放器应用中,侧边栏是展示播放列表和歌单的重要界面元素。通过HarmonyOS NEXT的`SideBarContainer`组件,我们可以轻松实现一个功能完善的音乐播放器侧边栏,为用户提供流畅的音乐浏览和播放体验。
216 5
|
12月前
|
数据可视化 UED 容器
130. [HarmonyOS NEXT 实战案例四:SideBarContainer] 侧边栏容器实战:音乐播放器侧边栏 - 播放列表与歌单管理 进阶篇
在基础篇中,我们学习了如何使用HarmonyOS NEXT的`SideBarContainer`组件创建音乐播放器的基本侧边栏布局。本篇教程将深入探讨如何为音乐播放器添加更多交互功能和状态管理,提升用户体验。
297 4
|
数据库 开发者 索引
24.[HarmonyOS NEXT Column案例五(上)] 构建高效复合布局:垂直列表与水平操作栏的完美结合
在HarmonyOS NEXT应用开发中,复合布局是构建丰富用户界面的关键技术。本教程将详细讲解如何使用Column和Row组件的嵌套组合,创建一个既有垂直列表结构又包含水平操作栏的复合布局。通过一个产品列表的实际案例,我们将展示如何构建层次分明、信息丰富的列表界面,帮助开发者掌握复杂布局的实现技巧。
183 3
|
存储 开发者 容器
26.[HarmonyOS NEXT Column案例六(上)] 交互式任务列表:垂直列表与条件渲染的完美结合
在HarmonyOS NEXT应用开发中,任务列表是一种常见且实用的界面组件,它不仅需要清晰地展示任务信息,还需要提供便捷的操作功能。本教程将详细讲解如何使用Column和Row组件的嵌套组合,结合自定义组件和条件渲染,创建一个交互式任务列表。通过TaskList和TaskItem组件的实际案例,我们将展示如何构建层次分明、交互丰富的列表界面,帮助开发者掌握复杂布局和交互的实现技巧。
218 1
|
定位技术 数据安全/隐私保护
鸿蒙开发:权限授权封装
关于权限,算上本章内容已经阐述了四个章节了,从相关的概念到,权限管理的授权方式,再到申请权限,直至最后的权限工具类封装,基本上涵盖了七七八八,希望可以帮助到大家。
201 1
鸿蒙开发:权限授权封装
|
UED
56.[HarmonyOS NEXT 实战案例二] 新闻资讯网格列表(下)
在上一篇教程中,我们介绍了如何使用HarmonyOS NEXT的GridRow和GridCol组件实现基本的新闻资讯列表布局。本篇教程将深入探讨如何优化新闻列表布局,并添加更多交互功能,提升用户体验。
161 0

热门文章

最新文章