Harmony鸿蒙实战开发-健康饮食运动记录app「记录饮食摄入、运动消耗、每日早餐、午餐、晚餐、加餐、运动卡路里信息,并包含开发者简介」「饮食记录」「能量记录」【源码在文末】

Harmony鸿蒙实战开发-健康饮食运动记录app「记录饮食摄入、运动消耗、每日早餐、午餐、晚餐、加餐、运动卡路里信息,并包含开发者简介」「饮食记录」「能量记录」【源码在文末】


运行工具:DevEco Studio

一、运行演示

1、主页面

image-20240721201501801

2、开机动画

image-20240721201437649

3、饮食记录-早饭

image-20240721201533236

4、饮食记录-午饭

image-20240721201601154

5、饮食记录-晚饭

image-20240721201614254

6、饮食记录-加餐

image-20240721201638732

7、运动记录

image-20240721201704038

8、我的信息

image-20240721201729172

9、总览

image-20240721201752209

二、部分代码

import BreakpointType from '../common/bean/BreanpointType'
import BreakpointConstants from '../common/constants/BreakpointConstants'
import { CommonConstants } from '../common/constants/CommonConstants'
import BreakpointSystem from '../common/utils/BreakpointSystem'
import RecordIndex from '../view/record/RecordIndex'

@Entry
@Component
struct Index {
  @State currentIndex: number = 0
  private breakpointSystem: BreakpointSystem = new BreakpointSystem()
  @StorageProp('currentBreakpoint') currentBreakpoint: string = BreakpointConstants.BREAKPOINT_SM

  @State isPageShow: boolean = false

  onPageShow(){
    this.isPageShow = true
  }
  onPageHide(){
    this.isPageShow = false
  }

  @Builder TabBarBuilder(title: ResourceStr, image: ResourceStr, index: number) {
    Column({ space: CommonConstants.SPACE_8 }) {
      Image(image)
        .width(22)
        .fillColor(this.selectColor(index))
      Text(title)
        .fontSize(14)
        .fontColor(this.selectColor(index))
    }
  }

  aboutToAppear(){
    this.breakpointSystem.register()
  }

  aboutToDisappear(){
    this.breakpointSystem.unregister()
  }

  selectColor(index: number) {
    return this.currentIndex === index ? $r('app.color.primary_color') : $r('app.color.gray')
  }

  build() {
    Tabs({ barPosition: BreakpointConstants.BAR_POSITION.getValue(this.currentBreakpoint) }) {
      TabContent() {
        RecordIndex({isPageShow: this.isPageShow})
      }
      .tabBar(this.TabBarBuilder($r('app.string.tab_record'), $r('app.media.ic_calendar'), 0))

      //TabContent() {
        //Text('发现页面')
      //}
      //.tabBar(this.TabBarBuilder($r('app.string.tab_discover'), $r('app.media.discover'), 1))

      TabContent() {
        Column({ space: CommonConstants.SPACE_8 }) {
          Text('应用信息')
            .fontSize(20)
            .fontWeight(FontWeight.Bold)
          Text('记录饮食')
            .fontSize(16)
          Text('作者信息')
            .fontSize(20)
            .fontWeight(FontWeight.Bold)
          Text('作者: XXX')
            .fontSize(16)
          Text('邮箱: XX@QQ.com')
            .fontSize(16)
          Text('版本号: 1.0.0')
            .fontSize(16)
        }
      }
      .tabBar(this.TabBarBuilder($r('app.string.tab_user'), $r('app.media.ic_user_portrait'), 2))
    }
    .width('100%')
    .height('100%')
    .onChange(index => this.currentIndex = index)
    .vertical(new BreakpointType({
      sm: false,
      md: true,
      lg: true
    }).getValue(this.currentBreakpoint))
  }
}

三、源码

相关鸿蒙项目点此专栏

image-20241020235757199

通过百度网盘分享的文件:…zip 链接:百度网盘 请输入提取码

文件已经加密,请点击下方名片获取源码

或:One_PQ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值