ArkUI_eTS手把手入门(附eTS组件指导文档地址) 原创 精华

清风彬彬
发布于 2022-1-21 17:06
浏览
4收藏

春节不停更,此文正在参加「星光计划-春节更帖活动」

@toc

一、开发前准备

工欲善其事,必先利其器。我们要先准备好相关开发环境。
(可能大部分开发者已经准备好了开发环境,此处只做概述)

1.DevEco Studio下载安装

DevEco Studio软件下载地址
DevEco Studio官方安装指导地址

2.预览eTS相关组件指导文档

openharmony基于TS扩展的声明式开发范式 指导文档地址

二、新建工程

1.基本步骤

打开DevEco Studio,按照下图 “File > New > New Project…” 步骤新建工程。
ArkUI_eTS手把手入门(附eTS组件指导文档地址)-鸿蒙开发者社区
选择相应工程选项并点击“Next”。
ArkUI_eTS手把手入门(附eTS组件指导文档地址)-鸿蒙开发者社区

2.完成工程相关配置

如,工程命名、开发语言选择(我们选择eTS即可)、API版本等。
ArkUI_eTS手把手入门(附eTS组件指导文档地址)-鸿蒙开发者社区

三、正式开发

1.查看工程目录结构并预览运行结果

我们写UI界面的主要文件为“··· > entry > src > main > ets > default > pages > ···.ets”。
ArkUI_eTS手把手入门(附eTS组件指导文档地址)-鸿蒙开发者社区
如果要增加页面,如下图。鼠标移动到“pages”右击,“> New > eTS Page”单击并为新增界面命名即可。
ArkUI_eTS手把手入门(附eTS组件指导文档地址)-鸿蒙开发者社区
使用预览器预览结果界面,如下图结果正常,则证明环境已没有问题。
ArkUI_eTS手把手入门(附eTS组件指导文档地址)-鸿蒙开发者社区

2.代码分析

上面创建工程后,页面仅显示“Hello World”文本。我们下面要做的就是基于openharmony基于TS扩展的声明式开发范式 指导文档 进行相关UI界面设计。
通过下图,不难看出我们之前使用到的就是指导文档中的 Flex容器组件Text组件
ArkUI_eTS手把手入门(附eTS组件指导文档地址)-鸿蒙开发者社区
那么我们可以根据指导文档提供的组件进行更多开发。

3.代码编写

在我们能够读懂开发文档的基础上,继续添加更多组件。由于是入门,本贴只做个别组件详细讲解。

(1).Text组件

参考:Text组件文档
接口: Text(content?: string)
我们从接口参数可知,Text组件只有一个文本内容的string参数,也就是我们上面的所看到的"Hello world"文本信息。
而后面的.width().height()等关键词是其相关属性。我们可以举出以下例子:

Text('Hello World dddddddddddddddd')
      //设置文本对齐方式
        .textAlign(TextAlign.Center)
      //设置文本最大行数,是设置文本超长显示方式的基础条件
        .maxLines(1)
      //设置文本超长时的显示方式(None/Clip/Ellipsis)
        .textOverflow({overflow:TextOverflow.Ellipsis})
      //设置文本行高
        .lineHeight('100')
      //设置文本装饰线样式以及颜色,此代码样式为:下划线、红色
        .decoration({type:TextDecorationType.Underline,color:Color.Red})
      //距离本行下边框距离,术语:文本基线的偏移量
        .baselineOffset('10')
      //设置文本大小写,无论原内容如何都将统一为此处所配置样式
        .textCase(TextCase.UpperCase)
      //设置文字大小
        .fontSize(20)
      //字体粗细
        .fontWeight(FontWeight.Bold)  

上述代码,运行结果如下:
ArkUI_eTS手把手入门(附eTS组件指导文档地址)-鸿蒙开发者社区

(2).Button组件

参考:Button组件文档
接口1: Button(options?: {type?: ButtonType, stateEffect?: boolean})
接口2: Button(label?: string, options?: { type?: ButtonType, stateEffect?: boolean })
首先我们利用接口1来测试主要的属性:

//第一种类型---无文字圆形按钮
//type:按钮形状类型(按钮风格)
Button({type:ButtonType.Circle})
        .width('50')
        .height('50')
        //按钮圆角
        .borderRadius(10)
        //设置按钮背景颜色,默认蓝色
        .backgroundColor('#000')
        //按钮边框
        .border({width:1})
        //按钮边框颜色
        .borderColor('#0AFF00')
        //距离左边距离
        .margin({left:100})
        //点击事件
        .onClick((event: ClickEvent)=>{
          AlertDialog.show({title:'点击事件',message:'点击了一下'})
        })

上述按钮效果如下:
ArkUI_eTS手把手入门(附eTS组件指导文档地址)-鸿蒙开发者社区
接下来,我们用接口2测试两个接口的不同使用方法:

//第二种类型---有文字方形按钮
//按钮文字可直接在接口中写出,也在Button中嵌套Text组件使用

//1、直接在接口写,接口2中的“label”属性
Button('按钮1',{type:ButtonType.Normal})
        .width(90)
        .height(40)
        //为了使此按钮与上方按钮区分开,可设置其上边距
        .margin({top:20})

//2、嵌套Text组件
Button({type:ButtonType.Normal}){
        //可自己设置文字样式
        Text('按钮2').fontSize(16).fontColor('#FFF')
      }
      .width(90)
      .height(40)
      .margin({top:20})

上述代码,展示效果如下:
ArkUI_eTS手把手入门(附eTS组件指导文档地址)-鸿蒙开发者社区

四、本次分享总结

感想总结

本次分享带领想要学习ArkUI_eTS的朋友手把手入门。也是本人学习过程中总结出来的一些关键知识。可能还有很多知识点没有列举出来,但我认为只要掌握了读文档的技巧,相信每位朋友都可以很快的成为ArkUI开发者。在没有找到openharmony基于TS扩展的声明式开发范式 指导文档的时候我也是对ArkUI一头雾水,最后希望大家都能够掌握读指导文档的技能。

附上本次分享的所有代码:

@Entry
@Component
struct Index {
  build() {
    Flex({direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
      Text('Hello World dddddddddddddddd')
      //设置文本对齐方式
        .textAlign(TextAlign.Center)
      //设置文本最大行数,是设置文本超长显示方式的基础条件
        .maxLines(1)
      //设置文本超长时的显示方式(None/Clip/Ellipsis)
        .textOverflow({overflow:TextOverflow.Ellipsis})
      //设置文本行高
        .lineHeight('100')
      //设置文本装饰线样式以及颜色,此代码样式为:下划线、红色
        .decoration({type:TextDecorationType.Underline,color:Color.Red})
      //距离本行下边框距离,术语:文本基线的偏移量
        .baselineOffset('10')
      //设置文本大小写,无论原内容如何都将统一为此处所配置样式
        .textCase(TextCase.UpperCase)
      //设置文字大小
        .fontSize(20)
      //字体粗细
        .fontWeight(FontWeight.Bold)

      //第一种类型---无文字圆形按钮
      //type:按钮形状类型(按钮风格)
      Button({type:ButtonType.Circle})
        .width('50')
        .height('50')
        //按钮圆角
        .borderRadius(10)
        //设置按钮背景颜色,默认蓝色
        .backgroundColor('#000')
        //按钮边框
        .border({width:1})
        //按钮边框颜色
        .borderColor('#0AFF00')
        //距离左边距离
        .margin({left:100})
        //点击事件
        .onClick((event: ClickEvent)=>{
          AlertDialog.show({title:'点击事件',message:'点击了一下'})
        })

      //第二种类型---有文字方形按钮
      //按钮文字可直接在接口中写出,也在Button中嵌套Text组件使用
      //1、直接在接口写,接口2中的“label”属性
      Button('按钮1',{type:ButtonType.Normal})
        .width(90)
        .height(40)
        //为了使此按钮与上方按钮区分开,可设置其上边距
        .margin({top:20})

      //2、嵌套Text组件
      Button({type:ButtonType.Normal}){
        //可自己设置文字样式
        Text('按钮2').fontSize(16).fontColor('#FFF')
      }.width(90).height(40).margin({top:20})
      
    }
    .width('100%')
    .height('100%')
  }
}

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2022-1-21 17:13:08修改
5
收藏 4
回复
举报
1条回复
按时间正序
/
按时间倒序
51小官
51小官

赞,大佬参加开发者大赛了么?妥妥的,附上大赛链接:https://harmonyos.51cto.com/posts/9267

回复
2022-1-21 17:18:13
回复
    相关推荐