导读:在本篇文章里,您将掌握鸿蒙开发工具DevEco的基本使用、ArkUI里的基础组件,并通过制作一个简单界面掌握使用
工欲善其事,必先利其器。这节就让我们来看看以后会伴随我们鸿蒙开发的工具,如何下载使用
为保证DevEco Studio正常运行,建议电脑配置满足如下要求:
chinese
-> 启用 -> 重启DevEcho后生效entry
这个文件夹即可,我们早期的所有代码都在这个文件夹里编辑entry->src->main->ets->pages
这个文件夹早期会成为我们写页面的地方entry->src->main->resource
这个文件夹将来会作为我们放图片资源和国际化的地方预览器
,这个地方就是实时查看界面效果的地方,并且代码一改,预览器自动刷新
Tips:新建项目后,页面代码里默认就会有个
Text
,并且打开预览器会看到Hello World
,尝试修改Text
小括号里的内容,给它一个字符串,试试看预览器会否有变化呢?
Object.getOwnPropertyDescriptor
之类的这种方法。所以大家可以四舍五入默认TS的语法ArkTS都能用即可TS
,那么可以说接下来的语法你毫无压力,只是随着学习了解一些ArkTS新增的语法(这个猫林老师会讲)JS
,其实问题也不大。TS
本身在语法层面跟JS
区别不大,而且语言是相通的,只要你明白变量、常量、分支语句等等这些概念,其实到时候一看猫林老师的代码,就知道是啥意思。build
里有一个Text
单引号
、双引号
、模板字符串反引号
都可pages/index.ets
文件,把build
里的代码都删掉,直接写一个Text
试试,例如
@Entry @Component struct Index { build() { Text('猫林老师') } }Text
果然能显示文本,但是如果觉得文本默认样式不是你喜欢的,你还可以对它修改属性,以后组件的属性修改语法统一都是
组件() { } .属性(属性值)Text
有哪些常用属性呢?这里猫林老师列一下
.fontColor('rgb(255,0,0)')
效果也一样,但要注意的是,他们都得是字符串,即被引号包起来Color.Red
相当于是'#f00'
或'rgb(255,0,0)'
,但是用这种华为提供的枚举写法,会更加便于阅读,一看就知道是红色FontWeight.Bold
相当于是700
,但是一看Bold就是加粗DevEco
开发工具里,其实只要一写好枚举类型再按一个点,它会自动出对应的值的提示,选中一个就好,如下图
Text
后,我们发现,当我们尝试要多加一个Text
后,会报错,如下图
Text
时不报错呢?因为只有1个时,它既是根组件又是内容Column
build() { Column() { Text('猫林老师') .fontSize(32) .fontColor(Color.Red) .fontWeight(FontWeight.Bold) Text('很帅') } }Text
一旦加上Column
这个父组件后,他们就一上一下排列了注意:猫林老师在这里给大家提炼一个ArkUI的特点:任何组件不给宽高默认都无宽高,全是靠内容自动撑开
Column
设置宽高,继续修改上述案例,添加宽高
Column() { Text('猫林老师') .fontSize(32) .fontColor(Color.Red) .fontWeight(FontWeight.Bold) Text('很帅') } .width('100%') .height('100%')Column
的默认排列方式有关,所以我们来了解下Column
布局容器里,因为默认情况下Column是让子组件从上往下排列,所以把y轴这根轴称之为主轴,x轴称之为交叉轴SpaceEvenly
Column
设置justifyContent
属性,并且值为FlexAlign.Center
,即能实现在主轴(垂直方向)居中。然后设置AlignItems
属性为HorizontalAlign.Center
,其中AlignItems可以不用设置,因为默认就是交叉轴居中HorizontalAlign
的六个值,效果一样,只不过变成了在x轴(水平方向排列)AlignItems
属性,但是取值变成了 VerticalAlign
,毕竟它就是设置垂直方向,所以叫VerticalAlign
HorizontalAlign
,一会VerticalAlign
,我记不住怎么办?这时候不得不说DevEco
的强大提示功能了,你只要一写AlignItems
它就会给你提示填什么内容,如下图
space
Column ({ space: 10 }) { // 子组件 }
Row
看看效果,并尝试改它的主轴和交叉轴排列entry/src/main/resource/base/media
文件夹
media
里已经有一些默认图片了,那么如何显示这里的图片呢?需要用到内置的$r
函数startIcon.png
这张图片了,注意:不用加后缀app.media
即代表找到media
文件夹,后面就填这个文件夹内的图片名即可Image
加载网络图片
Image('https://www-file.huawei.com/-/media/corporate/images/home/logo/huawei_logo.png') .width(100)
Image
里传入图片网址字符串即可Preview版
后,华为为了方便大家快速做布局看效果,让大家预览器界面也能直接看到网络图片
entry->src->main->ets->pages
entry/src/main/resource/base/media
space
Column({ space: 间距数 })space
Row({ space: 间距数 })$r
加载本地图片placeholder
属性设置占位符,也可以用text
属性绑定输入内容entry/src/main/resource/base/media/my.png
这张图片,下面哪种写法是对的?
A. $r('my.png')
B. $r('app.media.my.png')
C. $r('app.media.my')
D. $r('media.my')原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。