这一周忙到起飞,只能在周末发个文章。今天的内容比较简单,是一个招聘app,适合新手友友参考,大佬们可以直接忽略。

看一下效果图:

这是一个比较常见的应用,大家做这类应用建议大家先分析一下应用和页面的结构,避免写完发现错了又改。

这个应用首先有4个tabbaritem,是很常见的样式,使用系统的Tabs就可以实现:

Tabs({barPosition:BarPosition.End}){
TabContent(){
Home()
}
.tabIndex(0)
.tabBar(this.Tabbar($r('app.media.tab01'),'职位'))
TabContent(){
Has()
}
.tabIndex(0)
.tabBar(this.Tabbar($r('app.media.tab01'),'职位'))
TabContent(){
Msg()
}
.tabIndex(0)
.tabBar(this.Tabbar($r('app.media.tab01'),'职位'))
TabContent(){
Mine()
}
.tabIndex(0)
.tabBar(this.Tabbar($r('app.media.tab01'),'职位'))
}.scrollable(false).expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM])

关于导航栏部分,可以看到它是一个渐变的颜色,而且延伸到了屏幕顶端,这种样式系统的导航栏不太容易实现,需要我们自定义导航栏,这个导航栏在上一篇文章中有过介绍,大家可以直接下载使用。

到了列表部分,这个列表数据很多,看起来很复杂,但是只要稍加分析就可以很容易的实现,因为都是很基础的布局方式:

列表的相关代码如下:

List({space:10}){
ForEach(this.jobList,(item:JobClass,index)=>{
ListItem(){
Column(){
Row(){
Text(item.title)
.fontSize(20)
.fontColor('#151515')
Text(item.money)
.fontSize(19)
.fontColor('#00B7C4')
}
.width('100%')
.alignItems(VerticalAlign.Center)
.justifyContent(FlexAlign.SpaceBetween)
Text('李蛋个人设计团队 未融资 0-20人')
.fontColor('#5E5E5E')
.fontSize(12)
.margin({top:12})
Row({space:5}){
Text('1-3年')
.backgroundColor('#F6F6F6')
.padding({left:6,right:6,top:3,bottom:3})
.fontSize(10)
.borderRadius(4)
.fontColor('#626262')
Text('学历不限')
.backgroundColor('#F6F6F6')
.padding({left:6,right:6,top:3,bottom:3})
.fontSize(10)
.borderRadius(4)
.fontColor('#626262')
Text('设计软件')
.backgroundColor('#F6F6F6')
.padding({left:6,right:6,top:3,bottom:3})
.fontSize(10)
.borderRadius(4)
.fontColor('#626262')
Text('经验不限')
.backgroundColor('#F6F6F6')
.padding({left:6,right:6,top:3,bottom:3})
.fontSize(10)
.borderRadius(4)
.fontColor('#626262')
}
.margin({top:8})
Row(){
Row(){
Image($r('app.media.headerImg'))
.width(22)
.height(22)
Column({space:4}){
Text('李蛋·品牌经理')
.fontSize(11)
.fontColor('#151515')
Text('今日回复5次')
.fontSize(11)
.fontColor('#848484')
}
.alignItems(HorizontalAlign.Start)
.margin({left:7})
}
Text('丛台区 政府大厅')
.fontSize(10)
.fontColor('#848484')
}
.margin({top:14})
.width('100%')
.justifyContent(FlexAlign.SpaceBetween)
}
.width('100%')
.height(149)
.backgroundColor(Color.White)
.borderRadius(4)
.padding({left:12,right:12,top:14,bottom:14})
.alignItems(HorizontalAlign.Start)
}
})}
.padding({top:10,bottom:10})

这代码不会自动换行了,难受。

其实这应用还有两个页面,不过内容大同小异,不再赘述了:

祝大家周末愉快。

HarmonyOS NEXT开发实战教程--招聘app的更多相关文章

  1. Swift游戏开发实战教程(霸内部信息大学)

    Swift游戏开发实战教程(大学霸内部资料) 试读下载地址:http://pan.baidu.com/s/1sj7DvQH 介绍:本教程是国内第一本Swift游戏开发专向资料. 本教程具体解说记忆配对 ...

  2. asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发4- 后台模板html页面创建

    上一篇教程<asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发3-登录模块开发>完成了本项目的登录模块,登录后就需要进入后台管理首页了,需要准备一个后台模 ...

  3. asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发2-Model层建立

    上篇(asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发1-准备工作)文章讲解了开发过程中的准备工作,主要创建了项目数据库及项目,本文主要讲解项目M层的实现,M层这里 ...

  4. 微信小程序-云开发实战教程

    微信小程序-云开发实战教程 云函数,云存储,云数据库,云调用 https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/gettin ...

  5. Python开发实战教程(8)-向网页提交获取数据

    来这里找志同道合的小伙伴!↑↑↑ Python应用现在如火如荼,应用范围很广.因其效率高开发迅速的优势,快速进入编程语言排行榜前几名.本系列文章致力于可以全面系统的介绍Python语言开发知识和相关知 ...

  6. React Native Android原生模块开发实战|教程|心得|怎样创建React Native Android原生模块

    尊重版权,未经授权不得转载 本文出自:贾鹏辉的技术博客(http://blog.csdn.net/fengyuzhengfan/article/details/54691503) 告诉大家一个好消息. ...

  7. HTML5 App商业开发实战教程 基于WeX5可视化开发平台

  8. asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发3-登录模块开发

    进行本文之前需要在数据库用户表里面增加一条用户数据,直接手动添加即可,未安全考虑密码一定要使用Md5加密后的,这里提供666666的Md5密文为(c831b04de153469d),本文完成登录模块的 ...

  9. asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发1-准备工作

    /****** Object: 新闻表 Script Date: 2017/9/2 星期六 15:11:12 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENT ...

  10. android开发实战-记账本APP(二)

    继昨天的开发,继续完成今天的内容. (一)开始构建一些业务逻辑,开始构建记账本的添加一笔记账的功能. ①对fab按钮的click时间进行修改,创建一个AlertDialog.Builder对象,因此我 ...

随机推荐

  1. Transformer-Squared:停止微调 LLMs

    Transformer-Squared:停止微调 LLMs 自适应大语言模型背后的架构.Transformer-Squared 的数学与代码,以及奇异值分解 DALL-E 生成的图片 我们已经进入了这 ...

  2. 【Unity】光照解决方案笔记

    [Unity]光照解决方案笔记 https://docs.unity.cn/cn/2022.3/Manual/BestPracticeLightingPipelines.html 确定对象显示效果的三 ...

  3. ARC165F题解

    前言 \(2024.10.19\) 日校测 \(T4\),思维太庙,被薄纱了,遂哭弱,写题解以记之. 简要题意 给你一个长度为 \(2n\) 的序列满足 \(\forall a_i\in[1,n]\) ...

  4. redmine 用户没有状态内容

  5. ollama系列1:轻松3步本地部署deepseek,普通电脑可用

    本文主要介绍如何通过ollama快速部署deepseek.qwq.llama3.gemma3等大模型,网速好的小伙伴10分钟就能搞定.让你摆脱GPU焦虑,在普通电脑上面玩转大模型. 安装指南(无废话版 ...

  6. Ubuntu如何下载nvidia驱动和Cuda Toolkit

    Ubuntu如何下载nvidia驱动和Cuda Toolkit 前言 ‍ 手快不小心把 nvidia​ 的某个东西删除了,现在不得不全部卸载后再重新安装了. 我再也不敢在不确认内容的情况下,确认删除了 ...

  7. 零经验选手,Compose 一天开发一款小游戏!

    猛男翻卡牌 猛男启动 继上一个 Compose 练习项目 SimpleTodo 之后,又尝试用 Compose 来做了一个翻牌记忆游戏[猛男翻卡牌].这次是零经验写游戏项目,连原型都没有做设计,问了 ...

  8. directory 用于数据泵 导入、导出创建的目录。

    1.查询directory目录 select * from dba_directories; 2.创建或者修改 directory目录 create or replace directory 目录名称 ...

  9. Pandas中的选择

    1.选择 更多细节可见官方文档 import pandas as pd ID = [1,2,3] Name = ['Student_001','Student_002','Student_003'] ...

  10. 继承的介绍、使用-java se进阶 day01

    1.继承的介绍 2.继承的使用 为什么要使用继承?假如以后要写一个项目,其中程序员一个类,项目经理一个类,Hr一个类,但是这些类的成员都一样 如图 我们会发现这些成员都是重复的,三个类都写重复的成员十 ...