鸿蒙项目云捐助第九讲鸿蒙App应用的捐助详情页功能实现

鸿蒙项目云捐助第九讲鸿蒙App应用的捐助详情页功能实现

这里接下来继续实现捐助详情页的布局页面,也就是当用户进入到分类页面后,点击分类的每一个商品就进入到捐助商品的详情页,这里的布局可以从下面的模板演化而来。

下面根据这个模板来进行鸿蒙捐助详情页的实现。

一、鸿蒙云捐助详情页的实现

详情页也做成组件来处理,在component中建立一个详情页的ArkTs文件,如下图所示。

在详情页中上半部分实际上就是捐赠图片的大图展示,这里为了生动展示捐助的意义,把捐赠的图片显示在一个岛屿上面,每一个捐赠活动都可以看做是一个小岛,每一个小岛都需要捐赠人共同进行建设。这里可以从“百度图库”中找到两个图片,一个是岛屿, 一个是捐助的详情大图。将这两个图片也是放置在resources目录下的base目录下的media文件夹中。然后就可以在代码中将岛屿与捐助大图有机组合起来。具体代码如下图所示。

在代码中首先有一个Flex的弹性盒子,这个弹性盒子是Column()的竖向排列,其上半部分就是一个小岛配上一个捐助的图片,因此需要一个Flex的弹性盒子充当小岛,这个充当小岛的弹性盒子是Column()竖向也好,是Row()的横向也罢,都不影响里面的元素,因为里面的元素只有一个Image图片,不过这个充当小岛的弹性盒子需要使用把justifyContent设置成FlexAlign.Center进行水平居中,也需要把alignItems设置成ItemAlign.Center进行垂直居中。小岛中的Image图片组件设置其width宽度及border的边框属性,并把边框做borderRadius的圆角处理,其次还需要margin的外边距处理。这样小岛中的图片就显得柔和多了。对于充当小岛的Flex需要一个小岛的图片背景,设置其width宽度和height高度即可。

接下来大图的下面就是捐助的题目及开始时间及结束时间的总览部分。这里的代码实现如下图所示。

这里把总览两个字和结束日期的文字显示通过Flex的弹性盒子包裹,弹性盒子Flex设置direction方向属性为FlexDirection.Row的水平设置,对于总览和结束时间的两个字采用FlexAlign.SpaceBetween两端对齐的方式处理,同时也需要alignItems属性配置ItemAlign.Center进行垂直居中。在Flex弹性盒子中的Text文字设置fontSize字号大小即可。

接下来对于爱心捐款的数目,这里采用常用的前端布局——豆腐块的方式,如下图所示。

对于这段豆腐块形状的布局可以整体一个横向的盒子,左边的盒子独立成列,右边两个盒子竖向排列与左边的盒子对齐即可。代码如下所示。

这段代码比较长,其实很好理解。

首先有一个Flex的弹性盒子,设置其属性direction为FlexDirection.Row的横向排列其中的元素。在其中首先有一个大的Flex弹性盒子,这个弹性盒子的height高度是右侧两个盒子竖向排列的高度,左侧的盒子height高度为140,那么右侧有一个Flex弹性盒子,其总体高度也是140,但其中有两个小的弹性盒子Flex,这两个小的弹性盒子是竖向排列,因此外部的Flex弹性盒子需要声明direction方向为FlexDirection.Column的竖向排列,里面的小盒子Flex其高度height各为70。对于每个小盒子中都存放的是两个Text文字组件,显示具体已捐价格和待赠捐赠的价格。左边的大盒子里面显示爱心捐助的总额提示及具体的文字,具体捐赠的数额文字和还一个心形图形构成FlexAlign.SpaceBetween的两端对齐的关系。

其布局的最终效果图如下图所示。

这里还存在一个逻辑,用户进入这个页面,肯定是需要对商品进行捐赠处理的,也就是阅读了捐赠商品的详情信息后,继续对捐赠商品进行捐赠功能的添加。这里需要添加页面的下半部分(捐款功能),可以参阅如下图所示的模板实现。

这里可以先显示捐赠的组织,然后再显示是否可以捐赠物品,或者可以捐赠什么样的物品。代码如下图所示。

这里的布局比较简单,直接使用弹性盒子Flex并且将其属性设置为direction方向参数FlexDirection.Column的竖向排列,其中的元素还设置了alignItems的垂直居中处理,这里alignItems的属性为ItemAlign.Center。在Flex弹性盒子中,上面显示了组织的Text文字组件,下面显示了“可以捐赠物品:书,电脑,本,手机等”的提示信息。在显示的信息下面留有一个Flex弹性盒子,这个盒子中就可以放置“立即捐款”和“加入捐款岛”的两个按钮。代码如下图所示。

代码中可以看出把这个预留的弹性盒子Flex设置其属性direction方向为FlexDirection.Row横向,并且使两个按钮通过FlexAlign.SpaceBetween进行两端对齐,其中“加入捐款岛”的Button按钮设置其内容后,设置width为53%,并且backgroudColor的背景色为“红色”,按钮上的fontSize文字大小为20,其中“立即捐款”的Button按钮设置其内容后,设置width为43%,两个按钮不一样大,但是它们的fontSize字号大小及backgroundColor的背景颜色是一样的值来设置的。

这样就实现了捐款的详情表布局,其预览效果如下图所示。

这里完成了鸿蒙Next云捐助项目中捐款商品详情的页面,后面持续完成捐款岛,我的相关的功能页面,请持续关注。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/64245.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker mysql挂载

在提供的 docker run 命令中,已经挂载了三个卷到 MySQL 容器中:日志目录、数据目录和配置目录。然而,还没有挂载一个包含 cube_admin.sql 文件的目录。要将 SQL 文件放入容器中并在 MySQL 中执行它,可以按照以下步骤操作&#xff…

【数学】矩阵的逆与伪逆 EEGLAB

文章目录 前言matlab代码作用EEGLAB 中的代码总结参考文献 前言 在 EEGLAB 的使用中,运行程序时出现了矩阵接近奇异值,或者缩放错误。结果可能不准确。RCOND 1.873732e-20 的 bug,调查 EEGLAB 后发现是 raw 数据的问题。 matlab代码 A_1 …

【蓝凌表单】JSP组件常用语法整理

JSP组件常用语法整理 必填非必填写法//必填 $("[name=extendDataFormInfo.value(fd_344677482769e2)]").attr("validate","requiredvalue"); //非必填 $(

Redis 数据备份与恢复

Redis 数据备份与恢复 1. 引言 Redis 作为一款高性能的键值数据库,被广泛应用于各种场景,如缓存、消息队列等。由于其重要性,对 Redis 数据进行定期备份是保证数据安全的关键措施。本文将详细介绍 Redis 数据的备份与恢复方法,确保在数据丢失或系统故障时能够迅速恢复。 …

音视频入门基础:MPEG2-TS专题(17)——FFmpeg源码中,解析TS program map section的实现

一、引言 由《音视频入门基础:MPEG2-TS专题(16)——PMT简介》可以知道,PMT表(Program map table)由一个或多个段(Transport stream program map section,简称TS program map sectio…

华为HarmonyOS NEXT 原生应用开发:鸿蒙中组件的组件状态管理、组件通信 组件状态管理小案例(好友录)!

文章目录 组件状态管理一、State装饰器1. State装饰器的特点2. State装饰器的使用 二、Prop装饰器(父子单向通信)1. Prop装饰器的特点2. Prop装饰器的使用示例 三、Link装饰器(父子双向通信)1. Link装饰器的特点3. Link使用示例 四…

Pytorch | 对比Pytorch中的十种优化器:基于CIFAR10上的ResNet分类器

Pytorch | 对比Pytorch中的十种优化器:基于CIFAR10上的ResNet分类器 CIFAR10数据集ResNet提出背景网络结构特点工作原理优势 代码实现分析utils.pymain.py导入必要的库设备选择与数据预处理定义加载训练集和测试集主函数部分训练部分测试部分 结果10种优化器对应的训…

Linux系统操作03|chmod、vim

上文: Linux系统操作02|基本命令-CSDN博客 目录 六、chmod:给文件设置权限 1、字母法 2、数字法(用的最多) 七、vim:代码编写和文本编辑 1、启动和退出 1️⃣启动 2️⃣退出 2、vim基本操作 六、chmod&#x…

【漏洞复现】eking管理易Html5Upload接口存在任意文件上传漏洞

🏘️个人主页: 点燃银河尽头的篝火(●’◡’●) 如果文章有帮到你的话记得点赞👍+收藏💗支持一下哦 【漏洞复现】eking管理易Html5Upload接口存在任意文件上传漏洞 一、漏洞概述1.1漏洞简介1.2组件描述1.3漏洞描述二、漏洞复现2.1 应用协议2.2 环境搭建2.3 漏洞复现三、…

徐州数字孪生工业互联网可视化技术,赋能新型工业化智能制造工厂

#徐州数字孪生工业互联网#在当下智能制造的热潮之下,徐州作为中国制造业的重要基地,正积极拥抱数字化转型,通过数字孪生工业互联网可视化技术,赋能新型工业化智能制造工厂,引领制造业向更高效、更智能、更绿色的方向发…

C# 探险之旅:第二十四节 - 类型class基础,一场“类”似的奇妙冒险

嘿,勇敢的探险家们!欢迎来到C#王国的“类”似奇妙冒险!今天,我们要深入探索一个神秘而强大的领域——class(类)。想象一下,class就像C#世界里的一块魔法土地,每块土地上都能孕育出独…

解决MyBatis在 Oracle 中使用 IN 语句不能超过 1000 问题

在 Oracle 数据库中,IN 语句常用于查询某个字段是否属于一组特定的值。对于大多数开发者而言,IN 是一种简单直观的查询方式,能够提升开发效率,避免过多的 OR 语句。然而,许多人在使用 IN 语句时可能遇到一个问题&#…

(五)机器学习 - 数据分布

数据分布(Data Distribution)是指数据在不同值或值区间内的分布情况,它描述了数据点在整个数据集中是如何分散或集中的。数据分布可以通过多种方式来分析和表示,包括图形和数值方法。 常见的数据分布特征和描述数据分布的方法&…

C# 探险之旅:第二十三节 - 字符(char):字符小精灵的独舞

嘿,探险家们!欢迎再次踏上C#王国的奇妙旅程。这一节里,我们要深入探索一个非常基础但又极其重要的角色——字符(char)。想象一下,你正在参加一场由单个字母和数字组成的精灵舞会,每个精灵都代表着一个独特的字符。让我…

【JAVA】Java项目实战—分布式微服务项目:分布式文件存储系统

Java分布式微服务项目:分布式文件存储系统 一、背景介绍 随着互联网的快速发展和用户数据量的激增,软件开发中,传统的单体应用架构逐渐无法满足高并发、高可用和可扩展的需求。微服务架构应运而生,它将一个大型应用拆分为多个小…

苹果电脑可以安装windows操作系统吗?Mac OS X/OS X/macOS傻傻分不清?macOS系统的Java支持?什么是macOS的五大API法王?

苹果电脑可以安装windows操作系统吗? 先抛开虚拟机安装,苹果电脑可以安装Windows操作系统。苹果公司提供了一个名为Boot Camp的软件,它允许用户在Mac电脑上安装Windows操作系统。通过Boot Camp,用户可以在启动电脑时选择是要进入macOS还是Wi…

基于stm32的红外测温系统设计(论文+源码)

1总体方案设计 本课题为基于STM32的红外测温系统设计,在此将系统架构设计如图3.1所示, 整个系统包括STM32F103单片机,红外测温模块MLX90614,显示模块OLED12864,蜂鸣器以及按键等构成,在功能上,…

网易游戏分享游戏场景中MongoDB运行和分析实践

在游戏行业中,数据库的稳定和性能直接影响了游戏质量和用户满意度。在竞争激烈的游戏市场中,一个优秀的数据库产品无疑能为游戏的开发和后期的运营奠定良好的基础。伴随着MongoDB在不同类型游戏场景中的应用越来越广泛,许多知名的游戏公司都在…

【杭州电商商城系统开发建设】

杭州电商商城系统开发建设是一项综合性的工程,它涉及到多个方面的内容。以下是对杭州电商商城系统开发建设的详细分析: 需求分析:深入了解用户需求,包括用户群体特征、购物习惯、支付偏好等,为系统设计提供基础。明确…

排序算法(5):归并排序

问题 排序 [30, 24, 5, 58, 18, 36, 12, 42, 39] 归并排序 归并排序采用分治法,将序列分成若干子序列,每个子序列有序后再合并成有序的完整序列。 在数组排序中,如果只有一个数,那么它本身就是有序的。如果有两个数&#xff0…