王学岗鸿蒙开发(北向)——————(四、五、六)ArkUi声明式组件

在这里插入图片描述

在这里插入图片描述

普通组件

在这里插入图片描述
1,注意,如上图,build只能有一个根节点
2,@Entry表示程序的入口
@Component表示自定义的组件
@Preview表示可以预览
3,图片存放的地方
在这里插入图片描述
4,在这里插入图片描述
Image组件最好只给宽度,给了高度又给宽度容易失真。

build() {Row() {//图片不需要写后缀Image($r('app.media.icon')).width(300) //宽有两种写法,1是数字,而是百分比.height('40%') //百分比要带引号.borderRadius(400) //圆角.objectFit(ImageFit.Fill)//填充.interpolation(ImageInterpolation.High)//设置差值效果,High可以使图片更清晰.onClick(()=>{//点击事件console.log("我是点击事件")}).onComplete()//图片加载成功回调函数.onError()//图片加载异常的时候回调}.backgroundColor('green').height('100%')}

在这里插入图片描述
string资源要修改多处
在这里插入图片描述
在这里插入图片描述

     Text($r('app.string.module_desc')).fontWeight(FontWeight.Bold)//fontWeight有两种写法// .fontWeight(400)//fontWeight这种写法,粗细默认是400,大于400就会加粗
    TextInput({//对象属性placeholder:'请输入用户名'}).width(400)

在这里插入图片描述
Button组件里可以增加Image组件。

在这里插入图片描述

容器组件

1,Row

    Row({space:30}){//space表示间隙Text('赵云')Text('马超')Text('张飞')Text('黄忠')}.backgroundColor('green').width('100%').height(200).justifyContent(FlexAlign.Center)//主轴方向上如何布局.alignItems(VerticalAlign.Bottom)//交叉轴的对齐方式

Cloumn

.alignItems(HorizontalAlign.End)

Column主轴的布局
在这里插入图片描述
row主轴的布局

在这里插入图片描述
弹性布局组件
在这里插入图片描述

在这里插入图片描述
direction的取值有FlexDirection.Row、FlexDirection.RowReverse、FlexDirection.Column、FlexDirection.ColumnReverse
效果图如下

在这里插入图片描述
FlexWrap的取值有:FlexWrap.Wrap、FlexWrap.NoWrap、FlexWrap.WrapReverse
效果如下图,1 2 3的宽度都是’50%’
在这里插入图片描述
justifyContent与Column和Row相同
alignItemsFlex
如下图,三个高度不同的元素,取值分别是 ItemAlign.Auto,ItemAlign.Start,ItemAlign.Center,ItemAlign.End,ItemAlign.Stretch,ItemAlign.Baseline
在这里插入图片描述
alignContent
先看代码

在这里插入图片描述

在这里插入图片描述

进阶

Blank组件,类似于flutter的Spacer()填充空白区域

在这里插入图片描述

在这里插入图片描述

ForEach(item,(item:string)=>{Text(item)},//keyGenerator不要用默认的要自己定义,如何定义后面会更新,键生成函数,//为数组每一项生成一个唯一标识,组件是否重新渲染的判断标准)

arts中,数字等变量 非0非null为true

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
divider,List的分割线
onReachEnd:用来做上拉加载更多数据
在这里插入图片描述

在这里插入图片描述


offset的用法

在这里插入图片描述
order的用法

在这里插入图片描述
order值越大,排的越靠前,值的越小,排的越靠后
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
TabBar的Item可以做一个类,如下图
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/24867.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

normalizing flows vs 直方图规定化

normalizing flows名字的由来 The base density P ( z ) P(z) P(z) is usually defined as a multivariate standard normal (i.e., with mean zero and identity covariance). Hence, the effect of each subsequent inverse layer is to gradually move or “flow” the da…

Java——JVM

前言 JVM.即Java虚拟机.用来解释执行Java字节码. 一、JVM中的内存区域划分 JVM其实也是一个进程,进程运行过程中,要从操作系统这里申请一些资源(内存就是其中的典型资源) 这些内存空间,就支撑了后续Java程序的执行. JVM从系统中申请了一大块内存,这一大块内存给Java程序使…

折腾日记:如何在Mac上连接Esp32

个人博客地址 最近购买了一块Esp32单片机,在Mac环境上进行开发,并且成功点亮LED灯和连上屏幕,为什么会上手选择Esp32开发板,主要考虑它自带Wi-Fi和蓝牙,单价也不高,就算后面不玩了,也能转成物联…

深度学习:如何静悄悄地改变我们的日常生活

深度学习 深度学习:如何静悄悄地改变我们的日常生活一、消费电子产品智能手机与个人助理娱乐与社交媒体 二、医疗健康三、汽车与交通四、公共安全五、总结 深度学习:如何静悄悄地改变我们的日常生活 在近年来,深度学习技术因其强大的数据处理…

LibreOffice电子表格如何实现快速筛选并将结果放到新的工作表

如果是在excel或者wps中,可能大家都习惯了自动筛选,然后复制到新的工作表或者删除掉复制内容的办法。但是在LibreOffice中,经测试,大数据表的删除或者复制是非常慢的。这也是很多人放弃LibreOffice的原因之一。那么我们如何快速筛…

Flutter 使用ffigen生成ffmpeg的dart接口

Flutter视频渲染系列 第一章 Android使用Texture渲染视频 第二章 Windows使用Texture渲染视频 第三章 Linux使用Texture渲染视频 第四章 全平台FFICustomPainter渲染视频 第五章 Windows使用Native窗口渲染视频 第六章 桌面端使用texture_rgba_renderer渲染视频 第七章 使用ff…

【C语言】一节课拿捏---动态内存分配

谢谢观看!希望以下内容帮助到了你,对你起到作用的话,可以一键三连加关注!你们的支持是我更新地动力。 因作者水平有限,有错误还请指出,多多包涵,谢谢! 目录 一、 为什么要有动态内存…

PgSQL技术内幕 - psql与服务端连接与交互机制

PgSQL技术内幕 - 客户端psql与服务端连接与交互机制 简单来说,PgSQL的psql客户端向服务端发起连接请求,服务端接收到请求后,fork出一个子进程,之后由该子进程和客户端进行交互,处理客户端的SQL等,并将结果返…

【Python】一文向您详细介绍 __str__ 的作用和用法

【Python】一文向您详细介绍 str 的作用和用法 下滑即可查看博客内容 🌈 欢迎莅临我的个人主页 👈这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地!🎇 🎓 博主简介:985高校的普通本硕&…

【CS.AI】AI引领编程新时代:深度探索GitHub Copilot

文章目录 引言0. TOP TAKEAWAYS 重要要点1. Copilot的基本功能2. 技术原理3. 优势与局限优势局限 4. 使用体验4.1 初次使用4.2 在 JetBrains 全家桶中使用 GitHub Copilot1. 安装插件2. 配置插件3. 使用 GitHub Copilot 4.3 日常开发4.4 体验与反馈 5. 对开发者生态系统的影响5…

梯度下降: 02. 批量梯度下降BGD,随机梯度下降SGD,小批量梯度下降MBGD

简介 本文从原理上介绍了三种梯度下降的方法,相同点,异同点,优缺点。 内容包含了数学公式的推导与说明 1. 梯度下降的3种方法 梯度下降分三类,原理基本相同,操作方式略有区别 批量梯度下降BGD(BatchGradient Descent):使用全量数据进行特征抽取,模型训练小批量梯度下降…

VueRouter3学习笔记

文章目录 1,入门案例2,一些细节高亮效果非当前路由会被销毁 3,嵌套路由4, 传递查询参数5,命名路由6,传递路径参数7,路径参数转props8,查询参数转props9,replace模式10&am…

【C++】深入理解decltype和decltype(auto)

深入理解decltype和decltype(auto) 一、decltype语法介绍二、decltype的推导规则1. expr不加括号2. expr加上括号 三、关于decltype的CV属性推导四、 decltype(auto) 的使用 一、decltype语法介绍 decltype关键字是C11新标准引入的关键字,它…

Hadoop3:MapReduce源码解读之Map阶段的Job任务提交流程(1)

3、Job工作机制源码解读 用之前wordcount案例进行源码阅读,debug断点打在Job任务提交时 提交任务前,建立客户单连接 如下图,可以看出,只有两个客户端提供者,一个是YarnClient,一个是LocalClient。 显然&a…

Objective-C 学习笔记 | 基础

Objective-C 学习笔记 | 基础 参考书:《Objective-C 编程(第2版)》 第1部分 入门 Objective-C语言是以C语言为基础的,但增加了对面向对象编程的支持。Objective-C语言是用来开发在苹果iOS以及OS X操作系统上运行的应用的编程语…

植物大战僵尸杂交版 2.0 下载及配置图文教程

文章目录 Part.I IntroductionPart.II 下载Chap.I 下载地址Chap.II 网盘直链下载 Part.III 配置Chap.I 解压与安装Chap.II 加载存档Chap.III 其他设置 Reference Part.I Introduction 最近看大仙儿直播植物大战僵尸,觉得挺好玩的。它大概长这样: 就上网…

使用proteus仿真51单片机的流水灯实现

proteus介绍: proteus是一个十分便捷的用于电路仿真的软件,可以用于实现电路的设计、仿真、调试等。并且可以在对应的代码编辑区域,使用代码实现电路功能的仿真。 汇编语言介绍: 百度百科介绍如下: 汇编语言是培养…

Python GUI编程:深入探索现代GUI库及其创新应用

目录 引言 Python GUI库概览 1. Tkinter 2. PyQt/PySide 3. wxPython 4. Kivy 5. PyGTK 6.FLTK (pyFLTK) 创新应用案例 1. 交互式数据分析工具 2. 智能物联网(IoT)仪表板 3. 增强现实(AR)辅助设计软件 4. 跨平台的科学计算软件 5. 交互式教育软件 实战示例1&…

.NET MAUI 了解MVVM

MVVM 模式中有三个核心组件:模型、视图和视图模型。 每个组件的用途不同。 下图显示了这三个组件之间的关系。 视图 视图负责定义用户在屏幕上看到的结构、布局和外观。 理想情况下,每个视图在 XAML 中定义,代码隐藏有限,不包含业…

linux shell实现打印国际象棋棋盘

chess.sh #!/bin/bashfor i in {1..8} dofor j in {1..8}dosum$[ij]if [ $[sum%2] -eq 0 ];thenecho -ne "\033[46m \033[0m"elseecho -ne "\033[47m \033[0m"fidoneecho done验证: