HarmonyOS NEXT开发实战教程--招聘app
这一周忙到起飞,只能在周末发个文章。今天的内容比较简单,是一个招聘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的更多相关文章
- Swift游戏开发实战教程(霸内部信息大学)
Swift游戏开发实战教程(大学霸内部资料) 试读下载地址:http://pan.baidu.com/s/1sj7DvQH 介绍:本教程是国内第一本Swift游戏开发专向资料. 本教程具体解说记忆配对 ...
- asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发4- 后台模板html页面创建
上一篇教程<asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发3-登录模块开发>完成了本项目的登录模块,登录后就需要进入后台管理首页了,需要准备一个后台模 ...
- asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发2-Model层建立
上篇(asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发1-准备工作)文章讲解了开发过程中的准备工作,主要创建了项目数据库及项目,本文主要讲解项目M层的实现,M层这里 ...
- 微信小程序-云开发实战教程
微信小程序-云开发实战教程 云函数,云存储,云数据库,云调用 https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/gettin ...
- Python开发实战教程(8)-向网页提交获取数据
来这里找志同道合的小伙伴!↑↑↑ Python应用现在如火如荼,应用范围很广.因其效率高开发迅速的优势,快速进入编程语言排行榜前几名.本系列文章致力于可以全面系统的介绍Python语言开发知识和相关知 ...
- React Native Android原生模块开发实战|教程|心得|怎样创建React Native Android原生模块
尊重版权,未经授权不得转载 本文出自:贾鹏辉的技术博客(http://blog.csdn.net/fengyuzhengfan/article/details/54691503) 告诉大家一个好消息. ...
- HTML5 App商业开发实战教程 基于WeX5可视化开发平台
- asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发3-登录模块开发
进行本文之前需要在数据库用户表里面增加一条用户数据,直接手动添加即可,未安全考虑密码一定要使用Md5加密后的,这里提供666666的Md5密文为(c831b04de153469d),本文完成登录模块的 ...
- asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发1-准备工作
/****** Object: 新闻表 Script Date: 2017/9/2 星期六 15:11:12 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENT ...
- android开发实战-记账本APP(二)
继昨天的开发,继续完成今天的内容. (一)开始构建一些业务逻辑,开始构建记账本的添加一笔记账的功能. ①对fab按钮的click时间进行修改,创建一个AlertDialog.Builder对象,因此我 ...
随机推荐
- 用python做时间序列预测七:时间序列复杂度量化
本文介绍一种方法,帮助我们了解一个时间序列是否可以预测,或者说了解可预测能力有多强. Sample Entropy (样本熵) Sample Entropy是Approximate Entropy(近 ...
- What?废柴, 还在本地部署DeepSeek吗?Are you kidding?
前言 DeepSeek推出更强大的推理模型DeepSeek R1后一发不可收拾,迅速火遍全球,用户暴增,但巨大的流量以及一些不可控因素,DeepSeek官网变得极不稳定,经常出现"网络繁忙& ...
- 深入浅出 Vue3:组件与模板基础全解析
一.Vue3 组件结构详解 1.1 单文件组件(SFC)架构 Vue3采用.vue单文件组件模式,一个典型组件包含三个区块: <template> <!-- 组件的HTML模板 -- ...
- DevExpress MVVM Framework. Interaction of ViewModels. Messenger
学习记录: 学习地址:https://community.devexpress.com/blogs/wpf/archive/2013/12/13/devexpress-mvvm-framework-i ...
- mangoDB操作指令
studio 3T 更新或插入字段: db.getCollection("data_379129").update({},{$set: {'connectedStatus':Num ...
- Win10打开IE自动跳转至Edge解决办法
WIN + R输入inetcpl.cpl弹出Internet属性对话窗口 点击上面菜单中的[高级]选项 滑动右侧滚动条,找到[浏览]项下面的[启用第三方浏览器拓展*]并取消勾选 双击IE浏览器图标测试 ...
- abaqus建模时突发意外,软件闪退怎么才能找回操作?
abaqus/CAE 建模的时候可能经常由于各种各样的原因闪退(中断.卡住.未响应等等.) 这是很让人崩溃的时候,一个良好的习惯就是经常Ctrl+S,并且操作的时候不要太急,否则abaqus容易反应不 ...
- # 50 个最常被问到的 Selenium 面试问题和答案
Q #1) 什么是自动化测试? 自动化测试或测试自动化是自动化手动过程以测试被测应用程序/系统的过程.自动化测试涉及使用单独的测试工具,该工具可让您创建可以重复执行且不需要任何手动干预的测试脚本. Q ...
- linux ssh 免密登录
1.服务器端开启密钥登录模式 $ vim /etc/ssh/sshd_config # 是否允许 root 远程登录 PermitRootLogin yes # 密码登录是否打开 PasswordAu ...
- Go语言之sync包 WaitGroup的使用
WaitGroup 是什么以及它能为我们解决什么问题? WaitGroup在go语言中,用于线程同步,单从字面意思理解,wait等待的意思,group组.团队的意思,WaitGroup就是指等待一组, ...