鸿蒙项目-项目首页的设计day-3

分为三个部分 6776bc95a03e46e8b2af46a23785f65f.png

目标:依次完成下列内容

  1. 头部的搜索栏
  2. 记录热量信息的卡片
  3. 饮食的列表

这里先完成页面的设计的前两部分

头部搜索栏 我用了一个search()组建 这里没有封装直接写在了首页的column内

e82d3dda7b134215a3bdb725ddbad4a9.png

这个首页的最顶端 我设计了一个row

里面方search 和badge

badge里面有一个图片 图片引用的是一个小信封  是黑马给提供的 

这里badge的作用是头顶的那个小红点信息叠在信封图片的右上角

这里的小红点内的数据 以后可以通过 数据持久化

设计数量 也可以加onclick 路由到收信息的页面 

844781beadcd47f4bf39cba2d0030e82.png

 

接下来的统计卡片 和 最低部的记录项 我分别封装在了两个函数内

且记录列表占满剩余的空间(layoutweight(1))

这里统计卡片的日期和下面的信息 是有一个叠加的效果 先看日期:

4af2e854ee744c268b27eaaae5d791ba.png

 日期的实现:很简单 一个行容器内 包含两个组件 文本和照片 文本此时是调用了封装好的dateutil 获取 选择后的日期 这里image 是日期后面的小三角 加了一个点击事件 点击之后 会跳转出一个对话框 可以选择日期

这里是外样式的代码:

24d6cd9642054a2d9c22b285e50f545e.png

 对话框的调用:

8f02245609f14db198920d7f3b268bbf.png

日期对话框函数实现:

这里是日期的选取函数的实现

729c17b7db9d48649bf84389b8098c2d.png 

对话框样式

b8c7da4674254b12a36a2b9e600a91b5.png 

 调用对话框这个方法 需要用到controller

 controller 的作用是控制应用程序中的组件,实现组件间的通信和交互。它提供了一系列方法,用于创建、销毁和管理组件,例如创建组件、获取和更新组件信息、发送事件给其他组件等。通过鸿蒙 controller,开发者可以方便地管理和操作组件,实现组件间的通信和交互.

可以看到这里调用日期对话框时

里面用到了datepicker 用于给用户提供选取日期

这里onchange内设计了可以选择的年月日 

还可以设计更精确的时间

在我的项目中只需要设计到天 所以我没引用

下面这个对话框内的两个按钮 设计了点击事件onclick点击确定之后 会保存一个全局变量 selectedDate 选取的时间

85fdf644e3c6473e85f64384e2fed1a8.png

 在上一级的text文本中调用另一个函数 dateutil 把此值传过去 实现日期的可选择性

fc0289bf48194bd9a2995e7aed517d15.png

 其实很简单 说白了就是点击日期之后跳转到日期选择器对话框 选好日期之后点确认 将确认的日期传给dateUtil ,dateUtil接受之后操作后返回日期(datautil函数如下)text文本调用dateutil的函数 实现日期的展现!

23f3e3bb233247c4b13915d11e149426.png

再往下是统计热量信息的设计

这里用到了swiper容器

里面包含我封装好的热量卡片和营养卡片

可以简单的实现卡片的左右滑动

324767e0f8e2465188a45244db78b6e3.png

 

代码:

088468f501344443a2168ed8fef559e8.png

 热量卡片和营养卡片涉及数据持久化保存

这里先介绍卡片设计

下面展示我封装的整个caloriestates

8b156283ac414239878611707be41556.png

这些函数实现了下面这个样式 

a1fea19288a2495cb040220f1fab8521.png

 一个行容器row 从左到右

一个@Builder设计的文本

一个stake堆叠的环和builder设计的文本

最右边还是一个文本

再看 营养卡片的设计 大体类似

ea9974411f1d4b03a723b7c7225dddeb.png

23cea971fab4436d9ec9fe0f1dfb128c.png 

三个stack包裹的文本 环 文本

所以用一个builder 写好样式

调用三次这个builder 传入不同的参数

 

 

 

 

 

 

 

 

 

  • 14
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值