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

相关文章
|
开发者 容器
鸿蒙应用开发从入门到实战(十四):ArkUI组件Column&Row&线性布局
ArkUI提供了丰富的系统组件,用于制作鸿蒙原生应用APP的UI,本文主要讲解Column和Row组件的使用以及线性布局的方法。
960 12
|
API 数据处理
鸿蒙应用开发从入门到实战(十三):ArkUI组件Slider&Progress
ArkUI提供了丰富的系统组件,用于制作鸿蒙原生应用APP的UI,本文主要讲解滑块Slider和进度条Progress组件的使用。
500 1
|
数据安全/隐私保护 开发者
鸿蒙应用开发从入门到实战(十一):ArkUI组件Text&TextInput
ArkUI提供了丰富的系统组件,用于制作鸿蒙原生应用APP的UI,本文主要讲解文本组件Text和TextInput的使用。
738 3
|
API 数据处理
鸿蒙应用开发从入门到实战(十三):ArkUI组件Slider&Progress
ArkUI提供滑块Slider与进度条Progress组件,用于鸿蒙原生APP开发。Slider支持拖动调节音量、亮度等,可设步长、方向及提示气泡;Progress支持线性、环形等多种样式,可自定义颜色、宽度与刻度,实时显示任务进度。
726 2
|
开发者
鸿蒙应用开发从入门到实战(十二):ArkUI组件Button&Toggle
ArkUI提供了丰富的系统组件,用于制作鸿蒙原生应用APP的UI,本文主要讲解按钮组件Button和Toggle的使用。
761 2
|
安全 JavaScript API
鸿蒙开发核心要素
鸿蒙开发核心要素
|
存储 IDE 定位技术
【HarmonyOS 5】鸿蒙组件&模板服务详解 - 助力高效开发的利器
在移动应用开发领域,效率与质量始终是开发者追求的核心目标。鸿蒙系统作为新兴的操作系统,为开发者提供了丰富且强大的开发资源,其中鸿蒙组件&模板服务更是成为开发者快速构建高质量应用的得力助手。
516 0
|
移动开发 前端开发 Android开发
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
1997 12
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
12月前
|
移动开发 JavaScript 应用服务中间件
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
1270 5
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
移动开发 Rust JavaScript
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
1342 4
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡

热门文章

最新文章