0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

最通俗易懂的ArkTS语言入门指南

OpenHarmony技术社区 来源:OST开源开发者 2023-06-18 15:12 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文为我整理出来最通俗易懂的 ArkTS 语言入门指南。

创建项目

打开我们的 DevEco Studio,进入以下界面:

88b5753a-0da6-11ee-962d-dac502259ad0.png

点击 Create Project,进行创建:

88bd5188-0da6-11ee-962d-dac502259ad0.png

这里帮我们默认选好第一个了,我们直接点 Next 就可以进入下一步完成创建。

88c49308-0da6-11ee-962d-dac502259ad0.png

这样我们的新的项目就创建完成了:

88d0b606-0da6-11ee-962d-dac502259ad0.png

这样,我们的项目就创建好了。

基本语法概述

当我们打开这个 hello world 的时候,是不是整个人都有些懵?不知道从哪里下手了是不是呀?

不要紧,咱们来把它分解开来:

88de14f4-0da6-11ee-962d-dac502259ad0.png

就可以把他们拆成这几个部分了,如果看不懂可以暂时忽略下面冒号后面的内容:

装饰器:用于装饰类、结构、方法以及变量,并赋予其特殊的含义。如上述示例中 @Entry、@Component 和 @State 都是装饰器,@Component 表示自定义组件,@Entry 表示该自定义组件为入口组件,@State 表示组件中的状态变量,状态变量变化会触发 UI 刷新。

UI 描述:以声明式的方式来描述 UI 的结构,例如 build() 方法中的代码块。

自定义组件:可复用的 UI 单元,可组合其他组件,如上述被 @Component 装饰的 struct Hello。

系统组件:ArkUI 框架中默认内置的基础和容器组件,可直接被开发者调用,比如示例中的 Column、Text、Divider、Button。

属性方法:组件可以通过链式调用配置多项属性,如 fontSize()、width()、height()、backgroundColor() 等。

事件方法:组件可以通过链式调用设置多个事件的响应逻辑,如跟随在Button后面的 onClick()。

解释这些东西一大堆,对新手来说,理解有那么一点不容易,只要记住这个大概的格式,就像这个样子。

@Entry
@Component
structIndex{
//放你写的数据

build(){
//放你写的页面代码

}
}
你所需要写的东西就可以直接往里面填了。

布局

下面的内容有些复杂,新手看不懂可以暂时只看线性布局,这个是我们最常用的一种布局方式。

①线性布局(Row、Column)

线性布局(Row、Column):如果布局内子元素为复数个,且能够以某种方式线性排列时优先考虑此布局。

②层叠布局(Stack)

层叠布局(Stack):组件需要有堆叠效果时优先考虑此布局,层叠布局的堆叠效果不会占用或影响其他同容器内子组件的布局空间。

例如 Panel 作为子组件弹出时将其他组件覆盖更为合理,则优先考虑在外层使用堆叠布局。

③弹性布局(Flex)

弹性布局(Flex):弹性布局是与线性布局类似的布局方式。区别在于弹性布局默认能够使子组件压缩或拉伸。

在子组件需要计算拉伸或压缩比例时优先使用此布局,可使得多个容器内子组件能有更好的视觉上的填充容器效果。

④相对布局(RelativeContainer)

相对布局(RelativeContainer):相对布局是在二维空间中的布局方式,不需要遵循线性布局的规则,布局方式更为自由。

通过在子组件上设置锚点规则(AlignRules)使子组件能够将自己在横轴、纵轴中的位置与容器或容器内其他子组件的位置对齐。

设置的锚点规则可以天然支持子元素压缩、拉伸,堆叠或形成多行效果。在页面元素分布复杂或通过线性布局会使容器嵌套层数过深时推荐使用。

⑤栅格布局(GridRow、GridCol)

栅格布局(GridRow、GridCol):栅格是多设备场景下通用的辅助定位工具,通过将空间分割为有规律的栅格。

栅格不同于网格布局固定的空间划分,可以实现不同设备下不同的布局,空间划分更随心所欲,从而显著降低适配不同屏幕尺寸的设计及开发成本,使得整体设计和开发流程更有秩序和节奏感,同时也保证多设备上应用显示的协调性和一致性,提升用户体验。推荐内容相同但布局不同时使用。

⑥媒体查询(@ohos.mediaquery)

媒体查询(@ohos.mediaquery):媒体查询可根据不同设备类型或同设备不同状态修改应用的样式。例如根据设备和应用的不同属性信息设计不同的布局,以及屏幕发生动态改变时更新应用的页面布局。

⑦列表(List)

列表(List):使用列表可以轻松高效地显示结构化、可滚动的信息。在 ArkUI 中,列表具有垂直和水平布局能力和自适应交叉轴方向上排列个数的布局能力,超出屏幕时可以滚动。列表适合用于呈现同类数据类型或数据类型集,例如图片和文本。

⑧网格(Grid)

网格(Grid):网格布局具有较强的页面均分能力,子组件占比控制能力,是一种重要自适应布局。

网格布局可以控制元素所占的网格数量、设置子组件横跨几行或者几列,当网格容器尺寸发生变化时,所有子组件以及间距等比例调整。

推荐在需要按照固定比例或者均匀分配空间的布局场景下使用,例如计算器、相册、日历等。

⑨轮播(Swiper)

轮播(Swiper):轮播组件通常用于实现广告轮播、图片预览、可滚动应用等。

使用如下:

暂时看不懂也没关系,我们暂时只看用的最多的线性布局

线性布局分为两种:

一种是竖直方向的线性布局 Column

另一种是水平方向的线性布局 Row

88ec708a-0da6-11ee-962d-dac502259ad0.png

我们把他们加入我们写的代码中:

@Entry
@ComponentstructIndex{
//放你写的数据
build(){
Row(){
Column(){
//放你写的组件
}
}
}
}
这样页面布局就写好了,下面我们要开始在页面布局中写组件了。

组件

下面我们就在我们的页面中添加组件。 常见的组件有:

按钮

单选框

切换按钮

进度条

文本显示

文本输入

自定义弹窗

视频播放

XComponent

今天我们先来看一下按钮和文本显示。

①组件格式

组件的格式基本上都是这个样子:

88f56e38-0da6-11ee-962d-dac502259ad0.png

②文本组件使用

这个我们点右边的这个小眼睛可以预览效果:

8901831c-0da6-11ee-962d-dac502259ad0.png

也就是这个样子:

890d6af6-0da6-11ee-962d-dac502259ad0.png

同样的,我们在线性布局的下面加上修饰的东西,可以让这个文字显示在屏幕中央。

8916a166-0da6-11ee-962d-dac502259ad0.png

.width('100%') 是让垂直布局的宽度占据整个屏幕的宽度,让文本位于左右居中。 同理 .height('100%') 是让水平布局的高度占据整个屏幕的高度,让文本上下居中。

③按钮组件使用

然后我们可以增加一个按钮 Bottom 组件:

@Entry
@Component
structIndex{
@Statemessage:string='HelloWorld‘
build(){
Row(){
Column(){
//文本组件
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
//按钮组件
Button('按钮中的内容')
.onClick(()=>{//点击
//点击按钮后发生的事情
})
}
.width('100%')
}
.height('100%')
}

}

例如我用来演示的这个:

89218de2-0da6-11ee-962d-dac502259ad0.png

点击按钮后,message 的内容就会发生变化,点击按钮后的效果如下:

892bd23e-0da6-11ee-962d-dac502259ad0.png

我们今天的内容就到这里。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • HarmonyOS
    +关注

    关注

    80

    文章

    2131

    浏览量

    33862

原文标题:HarmonyOS开发:ArkTS入门

文章出处:【微信号:gh_834c4b3d87fe,微信公众号:OpenHarmony技术社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    零成本建站!使用树莓派在家搭建网站:分步指南

    你是否知道,树莓派拥有完美结合的硬件与软件,可以让你在家搭建网站?不过,如果你对网络技术还不熟悉,可能会被那些专业术语吓到。因此,在本文中,我将用最通俗易懂语言——即人与人之间的交流方式——来进行
    的头像 发表于 07-29 17:27 325次阅读
    零成本建站!使用树莓派在家搭建网站:分步<b class='flag-5'>指南</b>!

    LED驱动电路设计

    兼顾了不同读者的需要,由浅入深,层次清晰,通俗易懂,实用性强,可作为电气工程类专业本科生及研究生的入门教材,也可供从事LED驱动电源设计的工程技术人员参考。获取完整文档资料可下载附件哦!!!! 如果内容有帮助可以关注、点赞、评论支持一下哦~
    发表于 07-18 15:26

    什么是ArkTS

    ArkTS简介 ArkTS是OpenHarmony优选的应用高级开发语言ArkTS提供了声明式UI范式、状态管理支持等相应的能力,让开发者可以以更简洁、更自然的方式开发应用。 同时
    发表于 06-17 06:24

    单片机C语言入门指导(非常通俗易懂!)

    , 显而易见的问题出来了: 我要选择那种语言为 单片机编写程序呢? 这个问题,困扰了我好久。具 体选择 C51 还是 A51 呢?汇编在我们大二之前并没有开过课, 虽然看着人家的讲解, 很容易 明白
    发表于 06-16 16:32

    C语言精彩编程百例-364页

    大量经验,从而可以熟练地进行C程序设计。 全文共分为四篇,全面、系统地讲述了C语言各个方面的知识点和程序设计的基本方法,以及编写程序过程中值得注意的地方,内容深入浅出,通俗易懂。对于C语言的初学者来说
    发表于 06-13 17:28

    电源模块PCB设计注意事项

    PCB设计的基础入门教材,图文并茂,通俗易懂 纯分享贴,有需要可以直接下载附件获取完整资料! (如果内容有帮助可以关注、点赞、评论支持一下哦~)
    发表于 05-06 15:43

    秒懂CCC与CQC,别傻傻分不清啦

    通俗易懂说CCC与CQC
    的头像 发表于 05-06 10:23 3573次阅读
    秒懂CCC与CQC,别傻傻分不清啦

    KaihongOS操作系统:ArkTS语言基础

    ArkTS语言基础 KaihongOS是面向全场景的万物智联技术底座,在OpenHarmony基础上技术创新和系统能力增强的跨设备的操作系统,它支持多种设备类型。ArkTS是KaihongOS
    发表于 04-23 06:31

    开关变换器环路设计指南从模拟到数字控制

    资料介绍 本书的特色是:作者对开关变换器的环路控制不进行过于“学术化”的讨论,只对一些必要的理论给出数学方程,并由浅入深,用通俗易懂语言,比较全面地介绍了环路控制的基本概念、环路稳定的条件、输入
    发表于 04-17 13:55

    通俗易懂说电能表Modbus RTU协议

    Modbus RTU协议凭借其开放性、稳定性和易用性,成为电能表通信的“标配”
    的头像 发表于 04-02 15:21 1324次阅读
    <b class='flag-5'>通俗易懂</b>说电能表Modbus RTU协议

    51单片机经典入门教程(非常棒的教程)

    【前言】 适合初学者,入门级教程。 本文作者提示:本教程乃最通俗易懂之单片机教材,如果您还是看不懂,请千万不要涉足此行,以免误入歧途,耽误您的前程。 纯分享贴,有需要可以直接下载附件获取完整资料! (如果内容有帮助可以关注、点赞、评论支持一下哦~)
    发表于 03-28 15:05

    DRAM基本单元最为通俗易懂的图文解说

    的话题,稍微复杂一点的系统都需要用到DRAM,并且DRAM是除CPU之外,最为复杂也最贵的核心部件了,其设计,仿真,调试,焊接,等等都非常复杂,且重要。对DRAM使用的熟练情况,直接关系到系统设计的优劣。本文试着用比较通俗系统的图片和文字来解说,DRAM中一个基本电路单元的工作原理。
    的头像 发表于 03-04 14:45 1232次阅读
    DRAM基本单元最为<b class='flag-5'>通俗易懂</b>的图文解说

    ArkTS语言基础介绍篇

    KaihongOS是一个开源的、跨设备的操作系统,它支持多种设备类型。ArkTS是KaihongOS应用开发中使用的TypeScript超集,提供了一套丰富的API来构建应用界面和逻辑。 详见资料说明!
    发表于 01-10 10:15

    ArkTS开发指南优化上新

    ArkTS是HarmonyOS应用开发的官方高级语言,提供了声明式UI范式、状态管理、渲染控制等相应能力,让开发者能够以更简洁、更自然的方式开发应用。
    的头像 发表于 11-20 14:14 1836次阅读
    <b class='flag-5'>ArkTS</b>开发<b class='flag-5'>指南</b>优化上新

    WinCC 7.5入门指南

    WinCC 7.5入门指南
    发表于 10-21 10:37 12次下载