当前位置: 首页 > news >正文

HarmonyOS NEXT仓颉开发语言实战案例:银行App

仓颉语言的商城项目基本开发结束啦,今天跟大家分享新的项目,一个银行app,说是新项目但是大家可能会有些眼熟,在ArkTS的教程中就写过这个项目。今天我们仓颉语言再写一遍,看看和ArkTS有什么不同。

首先我们可以看到页面内容撑满了屏幕,所以需要设置沉浸模式,具体代码如下:

windowStage.getMainWindow().setWindowLayoutFullScreen(true)

接下来来到页面内容部分,这是一个可以滚动的列表布局,所以可以使用List容器,那么在List容器又可以分为几个模块:

有了清晰的思路接下来就可以每个部分逐个击破,最顶部的资产部分是有背景图片的,所以我们把图片和内容部分分开来看,每一个部分就都变得很简单了,具体代码如下:

Stack(){Image(@r(app.media.nav_img)).width(100.percent)Row(){Column(6){Row(){Text('总资产').fontSize(13).fontColor(Color.BLACK)Image(@r(app.media.eyes)).width(14).height(10).margin(left:5)}Text('****').fontSize(30).fontColor(Color.BLACK).fontWeight(FontWeight.Bold)Text('今日收益 +13.3').fontSize(12).fontColor(Color.GRAY)}.alignItems(HorizontalAlign.Start).margin(left:26)Row(){Image(@r(app.media.shield)).width(16).height(16)Text('开启保障').fontColor(Color.WHITE).fontSize(13).margin(left:6)}.width(102).height(30).justifyContent(FlexAlign.Center).backgroundColor(Color(0, 0, 0, alpha: 0.1)).borderRadius(topLeft:15.vp,bottomLeft:15.vp)}.width(100.percent).justifyContent(FlexAlign.SpaceBetween)}

接下来是功能按钮列表部分,这一部分需要注意的地方是它和上方资产内容有一些重叠,我的实现方式是给边距设置负数让它向顶部偏移,然后它的圆角只有上方的两个角,所以还要注意部分圆角的设置,参考代码如下:

Row(){
}
.width(100.percent)
.backgroundColor(Color.WHITE)
.borderRadius(topLeft:20.vp,topRight:20.vp)
.margin(top:-40)
.padding(left:12,right:12)

其实大家可以看到大部分代码和ArkTS还是比较类似的,现在直接来到最底部的热门推荐部分,这部分内容是有标题的,最好的实现方式是使用header,之前讲过仓颉的header写法有些不同,看一下代码:

@Builder func itemHead(title:String,subTitle:String){Row(5){Text(title).fontColor(Color.BLACK).fontSize(18).fontWeight(FontWeight.Bold)Text(subTitle).fontColor(13).fontColor(0x999999)}.height(60).width(100.percent).padding(left:12,bottom:13).alignItems(VerticalAlign.Bottom)
}ListItemGroup(ListItemGroupParams(header:{=>bind(this.itemHead,this)('热门推荐','每天告诉大家值得买的')})){
}

以上就是银行App案例的相关内容,感谢阅读。##HarmonyOS语言##仓颉##金融理财#

相关文章:

  • 在线建站哪个网站好google图片搜索引擎入口
  • 古董做推广哪个网站好百度推广客户端下载安装
  • 做柜子喜欢上哪些网站看seo学途论坛网
  • 梵讯企业网站建设茶叶营销策划方案
  • 做网站千篇一律seo优化资源
  • 固安做网站疫情最新数据消息
  • 【C++】组合模式
  • GitLab 18.1 发布依赖列表过滤、合规状态报告控制状态弹窗,可升级体验!
  • 前端框架大乱斗:React、Vue 和 Angular 的相爱相杀
  • 连接打印机0x0000011b错误两种完美解决方法
  • LightGBM:极速梯度提升机——结构化数据建模的终极武器
  • 数据结构进阶 第六章 树与二叉树
  • MongoDB 相关知识文档
  • YOLOv13:目标检测的全面攻略与实战指南
  • 进程和线程的区别?
  • 组织策略性陪伴顾问
  • 认识Jacobian
  • Java 大视界 -- Java 大数据机器学习模型在卫星通信信号干扰检测与智能抗干扰中的应用(323)
  • 【机器学习第一期(Python)】梯度提升决策树 GBDT
  • 2D写实交互数字人如何重塑服务体验?
  • 4.2_1朴素模式匹配算法
  • DevSecOps时代下测试工具的全新范式:从孤立到融合的质变之路
  • gitlab https链接转为ssh链接
  • 数栈 × AWS EMR On EC2 适配实践:打造出海企业可落地的云上数据中台解决方案
  • ​​深入详解单片机中的输入阻抗与输出阻抗​
  • Android Studio flutter项目运行、打包时间太长