news 2026/6/30 19:19:59

鸿蒙 ArkTS 实战:从零实现高颜值个人简历页面

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
鸿蒙 ArkTS 实战:从零实现高颜值个人简历页面

一、效果预览

最终实现的简历页面包含以下模块:

  • 顶部居中标题栏:带边框的「个人简历」标题
  • 基本信息区:左侧姓名 / 学校等信息 + 右侧圆形头像
  • 联系方式区:电话、邮箱并排展示
  • 内容模块区:个人简介、主修课程、求职意向、自我评价,每个模块带独立边框和标题

整体采用浅灰色背景 + 黑色边框,风格简洁专业,符合移动端阅读习惯。


二、开发环境准备

  • 开发工具:DevEco Studio 4.0+
  • 开发语言:ArkTS
  • 项目模型:Stage 模型
  • 适配系统:HarmonyOS 4.0+
  • 资源准备:提前准备一张头像图片(命名为1.png/jpg),放入entry/src/main/resources/base/media目录

三、完整可运行代码

typescript

运行

@Entry @Component struct ResumePage { build() { // 最外层垂直布局容器,占满整个屏幕 Column() { // 1. 顶部标题栏 Text("个人简历") .width("100%") .fontSize(25) .fontWeight(FontWeight.Bold) .textAlign(TextAlign.Center) .padding(15) .border({ width: 1, color: Color.Black }) // 2. 基本信息 + 头像 横向布局 Row() { // 左侧:基本信息垂直布局 Column() { // 第一行信息:姓名/性别/年龄 Row() { Text("姓名:张三") .fontSize(12) .width("46%") Text("性别:男") .fontSize(12) .width("27%") Text("年龄:20") .fontSize(12) .width("27%") } .width("100%") .padding(20) .border({ width: 1, color: Color.Black }) .height(80) // 第二行信息:毕业学校/专业/学历 Row({ space: 10 }) { Text("毕业学校:河软") .fontSize(12) .width("40%") Text("专业:计应") .fontSize(12) .width("27%") Text("学历:大专") .fontSize(12) .width("27%") } .width("100%") .padding(12) .border({ width: 1, color: Color.Black }) .height(80) } .width("70%") // 左侧信息区占70%宽度 // 右侧:头像 Image($r("app.media.1")) .width("30%") .height(160) .objectFit(ImageFit.Cover) .border({ width: 1, color: Color.Black }) } .width("100%") // 3. 联系方式横向布局 Row() { Text("电话:888888888") .fontSize(12) .width("50%") .padding(20) .border({ width: 1, color: Color.Black }) Text("邮箱:123@qq.com") .fontSize(12) .width("50%") .padding(20) .border({ width: 1, color: Color.Black }) } .width("100%") // 4. 个人简介模块 Column() { Text("个人简介") .fontSize(12) .fontWeight(FontWeight.Bold) .padding(15) Text(" 计算机专业在校学生,熟悉前端、鸿蒙ArkTS开发,掌握SQL数据库、Web基础、计算机基础、python等等,具备项目开发与团队协作经验,热爱编程,学习能力强。") .fontSize(12) .padding({ left: 20, right: 20, bottom: 30 }) } .width("100%") .border({ width: 1, color: Color.Black }) // 5. 主修课程模块 Column() { Text("主修课程") .fontSize(12) .fontWeight(FontWeight.Bold) .padding(15) Text("计算机基础、数据库SQL、Web前端开发、鸿蒙应用开发、计算机网络、操作系统、数据结构") .fontSize(12) .padding({ left: 20, right: 20, bottom: 30 }) } .width("100%") .border({ width: 1, color: Color.Black }) // 6. 求职意向模块 Column() { Text("求职意向") .fontSize(12) .fontWeight(FontWeight.Bold) .padding(15) Text("前端开发工程师 / 后端开发工程师 / 软件编程") .fontSize(12) .padding({ left: 20, right: 20, bottom: 30 }) } .width("100%") .border({ width: 1, color: Color.Black }) // 7. 自我评价模块 Column() { Text("自我评价") .fontSize(12) .fontWeight(FontWeight.Bold) .padding(15) Text(" 具备扎实计算机专业基础,熟练使用ArkTS完成鸿蒙页面搭建,拥有社团项目开发经验;逻辑清晰,善于沟通,能快速学习新技术,可独立完成基础功能开发,愿意从基层岗位积累成长。") .fontSize(12) .padding({ left: 20, right: 20, bottom: 30 }) } .width("100%") .border({ width: 1, color: Color.Black }) } .width("100%") .height("100%") .backgroundColor(0xF0F0F0) // 浅灰色背景,提升页面质感 } }

四、代码逐行深度解析

1. 组件入口定义

typescript

运行

@Entry @Component struct ResumePage {}
  • @Entry:标记该组件为页面入口,可独立渲染和预览
  • @Component:自定义组件装饰器,实现 UI 复用
  • struct:ArkTS 中定义组件的关键字

2. 最外层布局容器

typescript

运行

Column() { ... } .width("100%") .height("100%") .backgroundColor(0xF0F0F0)
  • Column:垂直布局容器,所有子组件从上到下依次排列
  • width("100%")/height("100%"):让容器占满整个屏幕
  • backgroundColor(0xF0F0F0):设置浅灰色背景,避免纯白页面过于单调

3. 顶部标题栏

typescript

运行

Text("个人简历") .width("100%") .fontSize(25) .fontWeight(FontWeight.Bold) .textAlign(TextAlign.Center) .padding(15) .border({ width: 1, color: Color.Black })
  • width("100%"):标题栏占满屏幕宽度
  • fontSize(25)/fontWeight(FontWeight.Bold):大号加粗字体,突出标题
  • textAlign(TextAlign.Center):文字居中对齐
  • padding(15):内边距,避免文字贴边
  • border:添加 1px 黑色边框,让标题栏更醒目

4. 基本信息 + 头像横向布局

typescript

运行

Row() { Column() { ... } // 左侧信息区 Image(...) // 右侧头像 } .width("100%")
  • Row:水平布局容器,实现左右分栏
  • 左侧Column70%宽度,用于展示两行个人信息
  • 右侧Image30%宽度,展示头像
  • 头像设置:objectFit(ImageFit.Cover)保证图片不变形铺满容器,border添加边框和整体风格统一

5. 信息行布局技巧

typescript

运行

Row() { Text("姓名:张三").width("46%") Text("性别:男").width("27%") Text("年龄:20").width("27%") }
  • Row实现水平排版,通过width("xx%")精确控制每个文本的占比,保证信息对齐
  • paddingheight固定行高,让布局更规整
  • border给每行信息添加边框,形成表格感

6. 内容模块设计

typescript

运行

Column() { Text("个人简介").fontWeight(FontWeight.Bold).padding(15) Text(...) }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/30 22:08:42

水课论文不想瞎凑字数?Gradpaper10 分钟出合规初稿,交了就能过

gradpaper-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/课程论文。 gradpaper论文智能生成软件,10分钟生成万字毕业论文、期刊论文、文献综述、PPT,Agc查重、降重报告、文献资料。只需一个标题,从开题报告到答辩一键生成软件&…

作者头像 李华
网站建设 2026/6/30 15:26:26

牛批了,自动点击神器,全自动脚本

今天给大家推荐两款软件,一款是自动点击工具,一款是桌面隐藏工具,有需要的小伙伴可以下载收藏。 第一款:自动点击工具 鼠标键盘录制的的工具之前也有推荐过,这类的工具可以解放双手,可以用于抢票时不停点击…

作者头像 李华
网站建设 2026/6/27 23:01:48

为什么OV证书是大多数企业的“最优选”?

一、先问自己三个问题 选SSL证书之前,先冷静思考: 你的网站是否展示企业真实信息?用户能否确认这不是钓鱼站?你愿不愿意为“身份背书”多花一点点预算? 如果三个答案都是“是”,那么OV证书就是你的答案。…

作者头像 李华
网站建设 2026/6/27 22:59:55

山东省工程实验室研究中心申报

工程实验室是依托企业、科研机构或高等院校,围绕提高产业自主创新能力和核心竞争力,促进产业结构调整,推动产业转型升级而设立的研究开发平台,是基础研究成果向工程技术转化的重要途径,是我省自主创新体系的重要组成部…

作者头像 李华