首页 > 其他分享 >HarmonyOS NEXT实战教程:菜谱App

HarmonyOS NEXT实战教程:菜谱App

时间:2024-10-25 16:34:52浏览次数:7  
标签:12 width App 1fr height HarmonyOS fontColor NEXT 100%

随着鸿蒙系统5.0的发布,兼容的机型越来越多,对于开发者来说机会也越来越多,大家不要气馁,学习鸿蒙肯定会有用武之地,我们要做的就是做好准备。今天跟大家分享实战教程是一个菜谱App。

首页这个页面可能会让初学者望而生畏,看起来比较复杂。但是仔细分析一下并不太难。幽蓝君再啰嗦一句,大家看到一个项目或者一个页面,不要拿过来就写,如果你不是特别熟悉,就先分析一下它大体是一个什么样的架构,分析明白再着手写代码。

这个页面首先是一个导航栏加一个列表组件List,列表中又包含了许多的样式。那我们就先把导航栏写出来:

@Builder NavigationMenu(){
    Flex({direction:FlexDirection.Row,wrap:FlexWrap.NoWrap,alignItems:ItemAlign.Center}){
      Search({placeholder:'想吃点什么?'})
        .placeholderColor('#999999')
        .fontColor("#4a4a4a")
        .width('100%')
        .height(35)

      Stack({alignContent:Alignment.TopEnd}){
        Image($r('app.media.msg'))
          .width(24)
          .height(24)
          .objectFit(ImageFit.Auto)
          .margin({left:10})

        Text('3')
          .width(14)
          .height(14)
          .backgroundColor('#FF4F4F')
          .fontColor(Color.White)
          .textAlign(TextAlign.Center)
          .fontSize(8)
          .borderRadius(7)
          .borderColor(Color.White)
          .borderWidth(2)
          .borderStyle(BorderStyle.Solid)
          .margin({left:2,top:-2})
      }

    }
    .width('100%')
    .height(40)
    .padding({left:12,right:12})
  }

接下来分析下内容区域,由上而下,大家可以发现主要就两种样式:轮播图和网格列表,轮播图比较简单,以最上面的轮播图为例,分享一下相关代码:

Swiper(){
            Stack({alignContent:Alignment.Bottom}){
              Image($r('app.media.banner_1'))
                .width('100%')
                .height(260)
                .borderRadius(8)

              Column({space:5}){
                Text('麻辣鲜香·剁椒豆腐鱼')
                  .fontColor(Color.White)
                  .fontSize(18)
                Row(){
                  Row(){
                    Image($r('app.media.banner_icon'))
                      .width(16)
                      .height(16)
                      .borderRadius(8)
                    Text('爱做饭的老王')
                      .fontColor(Color.White)
                      .fontSize(12)
                      .margin({left:3})
                  }

                  Image($r('app.media.banner_like'))
                    .width(20)
                    .height(17)
                }
                .width('100%')
                .justifyContent(FlexAlign.SpaceBetween)
              }
              .alignItems(HorizontalAlign.Start)
              .padding({left:12,right:12})
              .margin({bottom:10})
            }
            .width('100%')
            .height(260)
            .onClick(()=>{
              router.pushUrl({
                url:'pages/menustep'
              })
            })
          }

热门活动的轮播图更加简单,不再赘述了,这样我们就只剩下网格类的样式了。网格组件Grid的用法和List类似,不过它可以使用rowsTemplate和columnsTemplate来控制元素大小来滚动方向,这一点大家可以多多实践。以分类部分为例,向大家介绍下Grid的用法:

Grid(){
            ForEach(this.functionList,(item:FunctionItem,index)=>{
              GridItem(){
                Column(){
                  Image(item.cover)
                    .height(70)
                    .width(60)
                  Text(item.title)
                    .fontColor('rgb(51,51,51)')
                    .fontSize(12)
                }
                .height(150)
                .alignItems(HorizontalAlign.Center)
              }
            })
          }
          .rowsTemplate('1fr 1fr')
          .columnsTemplate('1fr 1fr 1fr 1fr 1fr')
          .height(180)
          .width('100%')

首页的部分就是这样,由小见大,其实所有页面的开发也就是这些东西,所以其他页面这里也不再赘述

标签:12,width,App,1fr,height,HarmonyOS,fontColor,NEXT,100%
From: https://www.cnblogs.com/youlanjihua/p/18502840

相关文章

  • 如何通过WhatsApp高效打粉?提升用户量的关键技巧
    随着即时通讯软件在全球的普及,WhatsApp已成为品牌和商家联系客户、推广产品的重要渠道之一。尤其是对于跨境电商和社交媒体运营者来说,利用WhatsApp进行打粉(即通过各种方式吸引用户加入WhatsApp联系人列表或群组),已经成为高效增长用户量的关键手段之一。本文将详细介绍如何通过W......
  • HarmonyOS:Node-API实现跨语言交互
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤博客园地址:为敢技术(https://www.cnblogs.com/strengthen/ )➤GitHub地址:https://github.com/strengthen➤原文地址:https://www.cnblogs.com/strengthen/p/18502733➤如果链接不是为敢技术的博客园地址,则可能是......
  • HarmonyOS:给您的应用添加通知(2)
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤博客园地址:为敢技术(https://www.cnblogs.com/strengthen/ )➤GitHub地址:https://github.com/strengthen➤原文地址:https://www.cnblogs.com/strengthen/p/18502620➤如果链接不是为敢技术的博客园地址,则可......
  • 构建更加丰富的页面 习题答案<HarmonyOS第一课>
    一、判断题1. Tabs组件可以通过接口传入一个TabsController,该TabsController可以控制Tabs组件进行页签切换。正确(True)错误(False)正确(True)回答正确2. WebviewController提供了变更Web组件显示内容的接口,例如可以使用loadData来加载一个网页链接地址改变Web组件的......
  • 从简单的页面开始<HarmonyOS第一课>
    一、判断题1. Button作为容器使用时可以通过添加子组件实现包含文字、图片等元素的按钮,其类型包括胶囊按钮、圆形按钮、普通按钮。正确(True)错误(False)正确(True)回答正确2. 对于包含文本元素的组件,如:Text、Span、Button、TextInput等,使用fontFamily设置字体时,参数......
  • 鸿蒙NEXT应用上架与分发步骤详解
    大家好,我是V哥。今天的文章来聊一聊HarmonyOSNEXT应用上架。当你开发、调试完HarmonyOS应用/元服务,就可以前往AppGalleryConnect申请上架,华为审核通过后,用户即可在华为应用市场获取您的HarmonyOS应用/元服务。HarmonyOS会通过数字证书与Profile文件等签名信息来保证应用的完......
  • 【前端】Next.js的安装及配置
    Next.js介绍Next.js是一个流行的React框架,它具有以下优点:服务器端渲染(SSR):Next.js支持服务器端渲染,这意味着页面可以在服务器上预渲染,然后发送给用户,这可以加快首屏加载速度,并有利于搜索引擎优化(SEO)。静态站点生成(SSG):Next.js允许在构建时预渲染页面为静态HTML,这对于......
  • 鸿蒙NEXT+Flutter开发5-第一个鸿蒙应用
      通过前面步骤的操作,开发所需的硬件设备,软件运行环境均已配备完毕,接下来我们创建第一个应用,并使其运行在鸿蒙NEXT系统的手机中。1.创建鸿蒙项目  使用下面的命令,进入工作目录,并创建鸿蒙项目cd~/work/harmonyfluttercreate--platformsohos--orgcom.cdrviewerdemo1......
  • 2024年最新婚恋交友系统源码,闪亮登场!支持微信小程序+微信公众号+H5+APP
    在快节奏的现代生活里,大家忙得像陀螺,一不小心就把感情生活晾在了一边。找另一半?既让人期待,又让人头疼。这时候,红娘婚恋相亲交友系统闪亮登场,成了婚恋市场上的“暖宝宝”。一、介绍系统基于TP6+Uni-app框架开发;客户移动端采用uni-app开发,管理后台TH6开发。系统支持微信公......
  • 鸿蒙编程江湖:HarmonyOS 和 ArkTS 基本概念
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。华为鸿蒙(HarmonyOS)是华为自主研发的......