电子说
使用文本组件
工程同步完成后,在 Project 窗口,点击 entry > src > main > ets > pages ,打开 Index.ets 文件,可以看到页面由 Row
、 Column
、 Text
组件组成。 index.ets 文件的示例如下:
@Entry @Component struct Index {
@State message: string = 'Hello World'
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
}
.width('100%')
}
.height('100%')
}
}
@Entry
修饰符表示一个页面的入口,它需要在 main_pages.json
配置才可以在设备上正常显示, @Component
修饰符表示 Index
是一个组件, @State
是一个状态标识符,当它修饰的变量值改变时ArkUI开发框架会调用 build()
方法进行页面的刷新。
添加按钮
在默认页面基础上,我们添加一个 Button
组件,作为按钮接受用户点击的动作,从而实现计数器自增操作。 " index.ets " 文件的示例如下:
@Entry @Component struct Index {
@State count: number = 0; // 状态数据
build() {
Stack({alignContent: Alignment.BottomEnd}) { // 堆叠式布局
Text(this.count.toString()) // 显示文本
.fontSize(50) // 文字大小
.margin(50) // 外边距
.size({width: '100%', height: '100%'}) // 控件大小
Button('+') // 显示一个+按钮
.size({width: 80, height: 80}) // 按钮大小
.fontSize(50) // 按钮文字大小
.onClick(() = > { // 按钮点击事件
this.count++; // count累加,触发build()方法回调
})
.margin(50)
}
.width('100%')
.height('100%')
}
}
打开预览器
在编辑窗口右上角的侧边工具栏,点击 Previewer ,然后点击页面加号按钮,页面运行效果如下图所示:
学习文档参考:[docs.qq.com/doc/DUmN4VVhBd3NxdExK
]
根据运行截图,我们点击了加号按钮,触发按钮的 onClick 事件回调,由于在回调里执行了 count++ 操作导致了 count 的值发生了改变,又因为 count 被 @State
修饰符修饰,所以ArkUI开发框架就会重新调用 build()
方法更新各组件的属性值, Text
组件会更新 count
的值,然后页面刷新,计数器的功能就实现了。
读者可能会对上述示例的页面刷新过程感兴趣,笔者简单介绍一下,上述示例的页面刷新过程可以分为两个过程,一个是页面渲染完毕没有点击按钮过程,另一个是点击点击按钮后页面数据变化过程,笔者分别介绍一下这两个过程:
以上页面整体构建流程如下图所示:
通过简单计数器示例,读者先了解一下 OpenHarmony 应用的组件、页面布局,点击事件以及 @State 修饰符的作用,最后给简单介绍了一下 OpenHarmony 的页面构建流程。
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !