OpenHarmony - 基于ArkUI框架实现日历应用

前言对于刚刚接触OpenHarmony应用开发的开发者 , 最快的入门方式就是开发一个简单的应用,下面记录了一个日历应用的开发过程,通过日历应用的开发,来熟悉基本图形的绘制,ArkUI的组件的使用 , UI组件生命周期 , 加深对OpenHarmony应用开发的理解 。
效果展示

OpenHarmony - 基于ArkUI框架实现日历应用

文章插图
开发环境
  • 开发工具:DevEco Studio 3.1 Release
  • 开发环境:OpenHarmony API 9
  • 开发语言:eTS
关于eTSeTS语言:基于TypeScript(简称TS)拓展的出来的,是OpenHarmony应用开发语言,使用ArkUI框架提供的组件进行界面开发 。
什么是TypeScript:
TypeScript 是微软开发的一个开源的编程语言,是面向对象强类型化的,在 JAVAScript 的基础上引入了静态类型、类、接口的概念 。
TypeScript 和 JavaScript 的区别:
  • TypeScript 是 JavaScript 的超集,在JavaScript的基础上拓展了语法,包含了 JavaScript 的所有元素
  • 在TypeScript 中的数据要求有明确的类型,而JavaScript中没有
  • TypeScript在编译时可以发现错误 , JavaScript只有在运行时报错
布局容器组件
  • Column :沿垂直方向布局的容器,可以包含多个子组件
  • Row:沿水平方向布局容器,可以包含多个子组件
  • Stack:堆叠容器,子组件按照顺序依次入栈,后一个子组件覆盖前一个子组件 , 可以包含多个子组件
  • Flex:弹性布局,元素在容器内水平居中,垂直等间隔分散,可以包含多个子组件
  • Scroll:可滑动的容器组件 , 当子组件的布局尺寸超过父组件的视口时,内容可以滑动 , 内部只支持单个子组件,可支持垂直或者水平滑动
  • Tabs:一种可以通过页签进行内容视图切换的容器组件,每个页签对应一个内容视图,只能包含子组件TabContent
  • List:列表包含一系列相同宽度的列表项 。适合连续、多行呈现同类数据,例如图片和文本,只能包含ListItem子组件
  • Swiper:滑动容器,提供左右切换子组件显示的能力,可以包含多个子组件
  • Grid:网格容器,由“行”和“列”分割的单元格所组成,通过指定“项目”所在的单元格做出各种各样的布局 , 只能包含GridItem子组件
绘制组件
  • Circle:圆形绘制组件
  • Ellipse:椭圆绘制组件
  • Line:直线绘制组件
  • Polyline:折线绘制组件
  • Polygon:多边形绘制组件
  • Path:路径绘制组件
  • Rect:矩形绘制组件
  • Shape:绘制组件的父组件 , 父组件中会描述所有绘制组件均支持的通用属性 。
自定义组件自定义组件生命周期函数
  • aboutToAppear:在组件的 build 函数之前执行 , 可以做数据的初始化操作 。
  • aboutToDisappear:在组件销毁之前执行,不允许改变状态变量,会导致应用程序行为不稳定 , 可以做资源的释放操作 。
  • onPageShow:仅@Entry修饰的自定义组件生效 , 应用进入前台台,页面显示时触发 。
  • onPageHide:仅@Entry修饰的自定义组件生效 , 应用进入后台 , 页面消失时触发 。
自定义组件常用属性