鸿蒙学习构建视图的基本语法(二)

news/2025/1/21 10:52:36/
一、层叠布局

在这里插入图片描述


//   图片 本地图片和在线图片   Image('https://developer.huawei.com/allianceCmsResource/resource/HUAWEI_Developer_VUE/images/080662.png')

//自适应伸缩 设置layoutWeight属性的子元素与兄弟元素 会按照权重进行分配主轴的空间// Position
struct Index {build() {Column(){ //层叠布局 解决组件的层叠问题 更简洁编码效率更高Stack({alignContent:Alignment.Bottom}){Text('1').width(250).height(250).backgroundColor(Color.Brown)Text('2').width(150).height(150).backgroundColor(Color.Blue)Text('3').width(50).height(50).backgroundColor(Color.Orange)}.width(300).height(600).backgroundColor(Color.Pink)}.width('100%').height('100%')}
}
二、b站卡片布局

在这里插入图片描述


//   图片 本地图片和在线图片   Image('https://developer.huawei.com/allianceCmsResource/resource/HUAWEI_Developer_VUE/images/080662.png')
@Entry
@Component//自适应伸缩 设置layoutWeight属性的子元素与兄弟元素 会按照权重进行分配主轴的空间// Position
struct Index {build() {Column(){ //层叠布局 解决组件的层叠问题 更简洁编码效率更高Stack({alignContent:Alignment.Bottom}){Image($r('app.media.bz_img')).borderRadius({topLeft:10,topRight:10}).width('100%')Row(){Row({space:5}){Image($r('app.media.bz_play')).width(14).fillColor(Color.White)Text('288万').fontColor(Color.White)}.margin({right:10})Row({space:5}){Image($r('app.media.bz_msg')).width(14).fillColor(Color.White)Text('14.33').fontColor(Color.White)}Blank()Text('14.33').fontColor(Color.White)}.height(24).width('100%').padding({left:5,right:5})}.width('100%').backgroundColor(Color.Pink)Column(){Text('【凤凰传奇新歌】欢迎来到国风统治区:唢呐一响神曲《铁衣流派推广曲》').textOverflow({overflow:TextOverflow.Ellipsis}).fontSize(13).maxLines(2)Row(){Text('19万点赞').fontSize(10).backgroundColor('#fef0ef').fontColor('#e66c43').padding(5).borderRadius(5)Image($r('app.media.bz_more')).width(14)}.width('100%').justifyContent(FlexAlign.SpaceBetween).margin({top:6})}}.width('80%').height('100%')}
}
三、支付宝综合案例

在这里插入图片描述


//   图片 本地图片和在线图片   Image('https://developer.huawei.com/allianceCmsResource/resource/HUAWEI_Developer_VUE/images/080662.png')
@Entry
@Component//自适应伸缩 设置layoutWeight属性的子元素与兄弟元素 会按照权重进行分配主轴的空间// Position
struct Index {build() {Stack({alignContent:Alignment.Bottom}){ //层叠布局 解决组件的层叠问题 更简洁编码效率更高Stack({alignContent:Alignment.Top}){Row({space:20}){Column(){Text('北京').fontSize(18).fontColor(Color.White)Text('晴 2°C').fontSize(12).fontColor(Color.White)Image($r('app.media.zfb_head_down')).width(12).fillColor(Color.White).position({x:40,y:10})}Row(){Image($r('app.media.zfb_head_search')).width(20).fillColor('#666').margin({ left: 5, right: 5 })Text('北京交通一卡通').layoutWeight(1)// TextInput({//   placeholder:'北京交通一卡通'// }).backgroundColor(Color.White).placeholderColor('#666').placeholderFont({size:14}).layoutWeight(1)Text('|').margin({right:10}).fontColor('#ccc')Text('搜索').fontSize(16).fontColor('#5b73de').fontWeight(700).textAlign(TextAlign.Center)}.layoutWeight(1).backgroundColor(Color.White).height(32).borderRadius(5).padding({ left: 10, right: 10 })// 右边Image($r('app.media.zfb_head_plus')).width(30).fillColor('#fff')}.backgroundColor('#5b73e1').width('100%').height(60).padding({left:10,right:10}).zIndex(666)// 主体页面Scroll(){Column(){// Top快捷按钮区域Row() {Column() {Image($r('app.media.zfb_top_scan')).width(36).fillColor('#fff')Text('扫一扫').fontColor('#fff')}.layoutWeight(1)Column() {Image($r('app.media.zfb_top_pay')).width(36).fillColor('#fff')Text('收付款').fontColor('#fff')}.layoutWeight(1)Column() {Image($r('app.media.zfb_top_travel')).width(36).fillColor('#fff')Text('出行').fontColor('#fff')}.layoutWeight(1)Column() {Image($r('app.media.zfb_top_card')).width(36).fillColor('#fff')Text('卡包').fontColor('#fff')}.layoutWeight(1)}.backgroundColor('#5b73de').padding({ top: 5, bottom: 15 })//nav导航Column(){Flex({direction:FlexDirection.Row,wrap:FlexWrap.Wrap}) {Column() {Image($r('app.media.zfb_nav1')).width(28).margin({ bottom: 8 })Text('滴滴出行').fontSize(12).fontColor('#666')}.height(80).justifyContent(FlexAlign.Center).width('20%').height(70).justifyContent(FlexAlign.Center)Column() {Image($r('app.media.zfb_nav2')).width(28).margin({ bottom: 8 })Text('生活缴费').fontSize(12).fontColor('#666')}.width('20%').height(70).justifyContent(FlexAlign.Center)Column() {Image($r('app.media.zfb_nav3')).width(28).margin({ bottom: 8 })Text('股票').fontSize(12).fontColor('#666')}.width('20%').height(70).justifyContent(FlexAlign.Center)Column() {Image($r('app.media.zfb_nav4')).width(28).margin({ bottom: 8 })Text('蚂蚁森林').fontSize(12).fontColor('#666')}.width('20%').height(70).justifyContent(FlexAlign.Center)Column() {Image($r('app.media.zfb_nav5')).width(28).margin({ bottom: 8 })Text('手机充值').fontSize(12).fontColor('#666')}.width('20%').height(70).justifyContent(FlexAlign.Center)Column() {Image($r('app.media.zfb_nav6')).width(28).margin({ bottom: 8 })Text('余额宝').fontSize(12).fontColor('#666')}.width('20%').height(70).justifyContent(FlexAlign.Center)Column() {Image($r('app.media.zfb_nav7')).width(28).margin({ bottom: 8 })Text('花呗').fontSize(12).fontColor('#666')}.width('20%').height(70).justifyContent(FlexAlign.Center)Column() {Image($r('app.media.zfb_nav8')).width(28).margin({ bottom: 8 })Text('飞猪旅行').fontSize(12).fontColor('#666')}.width('20%').height(70).justifyContent(FlexAlign.Center)Column() {Image($r('app.media.zfb_nav9')).width(28).margin({ bottom: 8 })Text('淘票票').fontSize(12).fontColor('#666')}.width('20%').height(70).justifyContent(FlexAlign.Center)Column() {Image($r('app.media.zfb_nav10')).width(28).margin({ bottom: 8 })Text('饿了么').fontSize(12).fontColor('#666')}.width('20%').height(70).justifyContent(FlexAlign.Center)Column() {Image($r('app.media.zfb_nav11')).width(28).margin({ bottom: 8 })Text('读书听书').fontSize(12).fontColor('#666')}.width('20%').height(70).justifyContent(FlexAlign.Center)Column() {Image($r('app.media.zfb_nav12')).width(28).margin({ bottom: 8 })Text('基金').fontSize(12).fontColor('#666')}.width('20%').height(70).justifyContent(FlexAlign.Center)Column() {Image($r('app.media.zfb_nav13')).width(28).margin({ bottom: 8 })Text('直播广场').fontSize(12).fontColor('#666')}.width('20%').height(70).justifyContent(FlexAlign.Center)Column() {Image($r('app.media.zfb_nav14')).width(28).margin({ bottom: 8 })Text('医疗健康').fontSize(12).fontColor('#666')}.width('20%').height(70).justifyContent(FlexAlign.Center)Column() {Image($r('app.media.zfb_nav15_more')).width(28).margin({ bottom: 8 })Text('更多').fontSize(12).fontColor('#666')}.width('20%').height(70).justifyContent(FlexAlign.Center)}// 产品区Row({ space: 5 }) {Image($r('app.media.zfb_pro_pic1')).layoutWeight(1)Image($r('app.media.zfb_pro_pic2')).layoutWeight(1)Image($r('app.media.zfb_pro_pic3')).layoutWeight(1)}.padding(10)}.height(1000).width('100%').backgroundColor('#fff').borderRadius({topLeft:20,topRight:20})}.width('100%').padding({ top: 60, bottom: 60 })}}.width('100%').height('100%').backgroundColor('#5b73de')Row(){Column(){Image($r('app.media.zfb_tab_home')).width(35)}.layoutWeight(1)Column() {Image($r('app.media.zfb_tab_money')).width(28).margin({ bottom: 2 })Text('理财').fontSize(12)}.layoutWeight(1)Column() {Image($r('app.media.zfb_tab_life')).width(28).margin({ bottom: 2 })Text('生活').fontSize(12)}.layoutWeight(1)Column() {Image($r('app.media.zfb_tab_chat')).width(28).margin({ bottom: 2 })Text('消息').fontSize(12)}.layoutWeight(1)Column() {Image($r('app.media.zfb_tab_me')).width(28).margin({ bottom: 2 })Text('我的').fontSize(12)}.layoutWeight(1)}.width('100%').height(60).backgroundColor('#fbfcfe')}.width('100%').height('100%').backgroundColor('#5b73de')}
}

菜单导航布局,方法有些许的区别,写法如下(采用layoutWeight)


//   图片 本地图片和在线图片   Image('https://developer.huawei.com/allianceCmsResource/resource/HUAWEI_Developer_VUE/images/080662.png')
@Entry
@Component//自适应伸缩 设置layoutWeight属性的子元素与兄弟元素 会按照权重进行分配主轴的空间// Position
struct Index {build() {Stack({alignContent:Alignment.Bottom}){ //层叠布局 解决组件的层叠问题 更简洁编码效率更高Stack({alignContent:Alignment.Top}){Row({space:20}){Column(){Text('北京').fontSize(18).fontColor(Color.White)Text('晴 2°C').fontSize(12).fontColor(Color.White)Image($r('app.media.zfb_head_down')).width(12).fillColor(Color.White).position({x:40,y:10})}Row(){Image($r('app.media.zfb_head_search')).width(20).fillColor('#666').margin({ left: 5, right: 5 })Text('北京交通一卡通').layoutWeight(1)// TextInput({//   placeholder:'北京交通一卡通'// }).backgroundColor(Color.White).placeholderColor('#666').placeholderFont({size:14}).layoutWeight(1)Text('|').margin({right:10}).fontColor('#ccc')Text('搜索').fontSize(16).fontColor('#5b73de').fontWeight(700).textAlign(TextAlign.Center)}.layoutWeight(1).backgroundColor(Color.White).height(32).borderRadius(5).padding({ left: 10, right: 10 })// 右边Image($r('app.media.zfb_head_plus')).width(30).fillColor('#fff')}.backgroundColor('#5b73e1').width('100%').height(60).padding({left:10,right:10}).zIndex(666)// 主体页面Scroll(){Column(){// Top快捷按钮区域Row() {Column() {Image($r('app.media.zfb_top_scan')).width(36).fillColor('#fff')Text('扫一扫').fontColor('#fff')}.layoutWeight(1)Column() {Image($r('app.media.zfb_top_pay')).width(36).fillColor('#fff')Text('收付款').fontColor('#fff')}.layoutWeight(1)Column() {Image($r('app.media.zfb_top_travel')).width(36).fillColor('#fff')Text('出行').fontColor('#fff')}.layoutWeight(1)Column() {Image($r('app.media.zfb_top_card')).width(36).fillColor('#fff')Text('卡包').fontColor('#fff')}.layoutWeight(1)}.backgroundColor('#5b73de').padding({ top: 5, bottom: 15 })//nav导航Column(){Flex({direction:FlexDirection.Row,wrap:FlexWrap.Wrap}) {Column() {Image($r('app.media.zfb_nav1')).width(28).margin({ bottom: 8 })Text('滴滴出行').fontSize(12).fontColor('#666')}.height(80).justifyContent(FlexAlign.Center).width('20%').height(70).justifyContent(FlexAlign.Center)Column() {Image($r('app.media.zfb_nav2')).width(28).margin({ bottom: 8 })Text('生活缴费').fontSize(12).fontColor('#666')}.width('20%').height(70).justifyContent(FlexAlign.Center)Column() {Image($r('app.media.zfb_nav3')).width(28).margin({ bottom: 8 })Text('股票').fontSize(12).fontColor('#666')}.width('20%').height(70).justifyContent(FlexAlign.Center)Column() {Image($r('app.media.zfb_nav4')).width(28).margin({ bottom: 8 })Text('蚂蚁森林').fontSize(12).fontColor('#666')}.width('20%').height(70).justifyContent(FlexAlign.Center)Column() {Image($r('app.media.zfb_nav5')).width(28).margin({ bottom: 8 })Text('手机充值').fontSize(12).fontColor('#666')}.width('20%').height(70).justifyContent(FlexAlign.Center)Column() {Image($r('app.media.zfb_nav6')).width(28).margin({ bottom: 8 })Text('余额宝').fontSize(12).fontColor('#666')}.width('20%').height(70).justifyContent(FlexAlign.Center)Column() {Image($r('app.media.zfb_nav7')).width(28).margin({ bottom: 8 })Text('花呗').fontSize(12).fontColor('#666')}.width('20%').height(70).justifyContent(FlexAlign.Center)Column() {Image($r('app.media.zfb_nav8')).width(28).margin({ bottom: 8 })Text('飞猪旅行').fontSize(12).fontColor('#666')}.width('20%').height(70).justifyContent(FlexAlign.Center)Column() {Image($r('app.media.zfb_nav9')).width(28).margin({ bottom: 8 })Text('淘票票').fontSize(12).fontColor('#666')}.width('20%').height(70).justifyContent(FlexAlign.Center)Column() {Image($r('app.media.zfb_nav10')).width(28).margin({ bottom: 8 })Text('饿了么').fontSize(12).fontColor('#666')}.width('20%').height(70).justifyContent(FlexAlign.Center)Column() {Image($r('app.media.zfb_nav11')).width(28).margin({ bottom: 8 })Text('读书听书').fontSize(12).fontColor('#666')}.width('20%').height(70).justifyContent(FlexAlign.Center)Column() {Image($r('app.media.zfb_nav12')).width(28).margin({ bottom: 8 })Text('基金').fontSize(12).fontColor('#666')}.width('20%').height(70).justifyContent(FlexAlign.Center)Column() {Image($r('app.media.zfb_nav13')).width(28).margin({ bottom: 8 })Text('直播广场').fontSize(12).fontColor('#666')}.width('20%').height(70).justifyContent(FlexAlign.Center)Column() {Image($r('app.media.zfb_nav14')).width(28).margin({ bottom: 8 })Text('医疗健康').fontSize(12).fontColor('#666')}.width('20%').height(70).justifyContent(FlexAlign.Center)Column() {Image($r('app.media.zfb_nav15_more')).width(28).margin({ bottom: 8 })Text('更多').fontSize(12).fontColor('#666')}.width('20%').height(70).justifyContent(FlexAlign.Center)}// 产品区Row({ space: 5 }) {Image($r('app.media.zfb_pro_pic1')).layoutWeight(1)Image($r('app.media.zfb_pro_pic2')).layoutWeight(1)Image($r('app.media.zfb_pro_pic3')).layoutWeight(1)}.padding(10)Column({ space: 10 }) {Image($r('app.media.zfb_pro_list1')).width('100%')Image($r('app.media.zfb_pro_list2')).width('100%')}.padding(10)}.height(1000).width('100%').backgroundColor('#fff').borderRadius({topLeft:20,topRight:20})}.width('100%').padding({ top: 60, bottom: 60 })}}.width('100%').height('100%').backgroundColor('#5b73de')Row(){Column(){Image($r('app.media.zfb_tab_home')).width(35)}.layoutWeight(1)Column() {Image($r('app.media.zfb_tab_money')).width(28).margin({ bottom: 2 })Text('理财').fontSize(12)}.layoutWeight(1)Column() {Image($r('app.media.zfb_tab_life')).width(28).margin({ bottom: 2 })Text('生活').fontSize(12)}.layoutWeight(1)Column() {Image($r('app.media.zfb_tab_chat')).width(28).margin({ bottom: 2 })Text('消息').fontSize(12)}.layoutWeight(1)Column() {Image($r('app.media.zfb_tab_me')).width(28).margin({ bottom: 2 })Text('我的').fontSize(12)}.layoutWeight(1)}.width('100%').height(60).backgroundColor('#fbfcfe')}.width('100%').height('100%').backgroundColor('#5b73de')}
}
四、字符串拼接和模版字符串

let name:string = "可可"
let age :number = 18
console.log('简介信息' , '姓名',name)
console.log(`名称:${name},年龄:${age}`)
@Entry
@Component//
struct Index {build() {}
}
五、类型转化(数字和字符串)

在这里插入图片描述


let goods_1:string = '190'
let goods_2:string = '1.90'
let goods_3:string = '1.90a'
let goods_4:string = 'a'//Number(变量)原样转数字
//parseInt(变量)去掉小数部分
//parseFloat(变量)保留小数部分
console.log('数字是' ,parseFloat(goods_1))
console.log('数字是' ,parseFloat(goods_2))
console.log('数字是' ,parseFloat(goods_3))
console.log('数字是' ,parseInt(goods_4))console.log('数字是' ,parseInt(goods_1))
console.log('数字是' ,parseInt(goods_2))
console.log('数字是' ,parseInt(goods_3))
console.log('数字是' ,parseFloat(goods_4))
@Entry
@Component//
struct Index {build() {}
}

在这里插入图片描述

let goods_5:number = 150
let goods_6:number = 1590.233
console.log('数字是' ,goods_5.toString())
console.log('数字是' ,goods_6.toFixed())
console.log('数字是' ,goods_6.toFixed(1))
console.log('数字是' ,goods_6.toFixed(2))

在这里插入图片描述


http://www.ppmy.cn/news/1564928.html

相关文章

基于springboot+sureness的面向REST API资源无状态认证权限管理系统的后端

提供基于OAuth2和JWT的单点登录功能基于角色访问控制RBAC,提供对系统的权限控制提供页面可配置式的,动态的 API 权限安全管理支持数据传输动态秘钥加密,JWT过期刷新,用户操作监控等加固应用安全 前端 usthe 基于angular5 angular-cli typeScript rxjs bootstr…

Spring Boot 中使用 ShardingSphere-Proxy

在 Spring Boot 中使用 ShardingSphere-Proxy,与使用 ShardingSphere-JDBC 有所不同。ShardingSphere-Proxy 作为独立的代理层,处理数据库分库分表、路由和负载均衡等功能,而应用程序通过 JDBC 连接到代理服务,而不是直接连接数据…

在 Vue 3 中实现插件化架构:设计可扩展的前端插件系统

随着前端项目的复杂性不断提升,模块化和可扩展性在架构设计中的重要性愈加突出。Vue 3 的 Composition API 和插件机制为我们实现插件化架构提供了便利。本文将深入探讨如何在 Vue 3 中构建一个高效、灵活的插件系统,为大型前端项目的扩展性打下基础。 …

go语言gui窗口应用之fyne框架-自定义容器实现自定义布局,更灵活的显示控件

一、自定义容器 在fyne中,所有的容器都是通过container包下的New函数定义的,先看源码: package fyne// 根据布局创建容器 func New(layout fyne.Layout, objects ...fyne.CanvasObject) *fyne.Container {return &fyne.Container{Layou…

Mysql--实战篇--mybatis cache(一级缓存,二级缓存,子查询主键主查询全部,查询条件加索引,覆盖索引等)

MyBatis是一个流行的Java持久层框架,它简化了JDBC的使用,允许开发者通过XML或注解的方式定义SQL语句,并将结果映射到Java对象。为了提高查询性能,MyBatis提供了缓存机制,可以在一定程度上减少数据库的访问次数&#xf…

Spring Boot中的配置文件有哪些类型

在 Spring Boot 中,配置文件用于管理应用程序的设置和参数,通常存放在项目的 src/main/resources 目录下。Spring Boot 支持多种类型的配置文件,并通过这些文件来控制应用的行为和环境配置。 1. application.properties application.proper…

数学基础 --线性代数之理解矩阵乘法

理解矩阵乘法的解析 矩阵乘法(Matrix Multiplication)是线性代数中的核心操作之一。在数学、几何和工程实际中,它不仅是一种代数运算规则,还承载着丰富的几何和映射意义。本文将从多个角度深入解析矩阵乘法,帮助读者理…

ros2-7.5 做一个自动巡检机器人

7.5.1 需求及设计 又到了小鱼老师带着做最佳实践项目了。需求:做一个在各个房间不断巡逻并记录图像的机器人。 到达目标点后首先通过语音播放到达目标点信息, 再通过摄像头拍摄一张图片保存到本地。 7.5.2 编写巡检控制节点 在chapt7_ws/src下新建功…