ArkTS 组件事件、状态管理与资源管理

news2025/1/15 6:14:36

1. 组件事件

组件事件是在用户与界面交互时触发的操作,如点击、触碰、滑屏、按键等。在 ArkTS 中,通过为组件绑定事件处理函数,实现对用户交互的响应。

常用事件示例
事件类型描述示例
onClick()点击事件Button().onClick(handler)
onTouch()触摸事件Image().onTouch(handler)
onKey()按键事件TextField().onKey(handler)
onSwipe()滑屏事件ScrollView().onSwipe(handler)
按钮点击事件
@Entry
@Component
struct ButtonExample {
  build() {
    Button("点击我")
      .onClick(() => {
        console.log("按钮被点击了!");
      });
  }
}

2. 组件状态

组件状态是指由 @State 装饰的变量,这些变量与 UI 渲染绑定。当状态变量的值发生变化时,UI 会自动刷新。

3. 资源管理

资源管理是开发中必不可少的一环,用于存储和管理应用中的图片、音视频、多语言文本等资源。HarmonyOS 提供了 resource 目录来管理这些资源。

3.1 资源目录结构
目录类型说明示例资源文件
base/element存放 JSON 格式的元素资源,如字符串、颜色、布尔值等color.json, string.json
base/media存放图片、音视频等非文本资源icon.png, background.mp3
base/profile存放自定义配置文件test_profile.json
rawfile自由放置资源文件,未编译直接打包my_resource.txt, data.csv
3.2 语言环境支持
目录名称说明
zh_CN存放中文资源,当设备语言为中文时优先匹配。
en_US存放英文资源,当设备语言为英文时优先匹配。

4. 文本组件与图片组件

4.1 文本组件

文本组件用于显示固定或动态的文字内容。

Text("欢迎来到 ArkTS 开发")
  .fontSize(18)
  .textColor(Color.Blue);
4.2 图片组件

图片组件 Image 用于展示本地或网络图片。

Image($rawfile("icon.png"))
  .width(100)
  .height(100);

官方文档


凡是过去,皆为序章;凡是未来,皆有可期。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2276858.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java Stream流操作List全攻略:Filter、Sort、GroupBy、Average、Sum实践

在Java 8及更高版本中,Stream API为集合处理带来了革命性的改变。本文将深入解析如何运用Stream对List进行高效的操作,包括筛选(Filter)、排序(Sort)、分组(GroupBy)、求平均值&…

《视听导报》是什么类型的报纸?报纸上发文章要交版面费吗?

作为个人成果发表的重要场所,报纸目前正得到越来越多单位的认可。不过在投稿时,我们既要考虑投稿的报纸是否符合评审标准,也要考虑发表文章的成本是否在我们的承受范围之内。 下面就让我们以《视听导报》为例,了解下如何查看报纸的…

candb++ windows11运行报错,找不到mfc140.dll

解决问题记录 mfc140.dll下载 注意:放置位置别搞错了

服务器引导异常,Grub报错: error: ../../grub-core/fs/fshelp.c:258:file xxxx.img not found.

服务器引导异常,Grub报错: error: ../../grub-core/fs/fshelp.c:258:file xxxx.img not found. 1. 故障现象2. 解决思路3. 故障分析4. 案件回溯5. 解决问题 1. 故障现象 有一台服务器业务报无法连接. 尝试用Ping命令发现无法ping通. 通过控制台查看发现有以下报错: error: ..…

LeetCode第432场周赛 (前3题|多语言)

比赛链接:第432场周赛 文章目录 3417. 跳过交替单元格的之字形遍历思路代码CJavaPython 3418. 机器人可以获得的最大金币数思路代码CJavaPython 3419. 图的最大边权的最小值思路代码CJavaPython 总结 3417. 跳过交替单元格的之字形遍历 思路 没啥好说的就是模拟 按…

下载导出Tomcat上的excle文档,浏览器上显示下载

目录 1.前端2.Tomcat服务器内配置3.在Tomcat映射的文件内放置文件4.重启Tomcat,下载测试 1.前端 function downloadFile() {let pictureSourceServer "http://192.168.1.1:8080/downFile/";let fileName "测试文档.xlsx";let fileURL pictu…

蓝桥杯备赛:顺序表和单链表相关算法题详解(上)

一.询问学号(顺序表) 1.题目来源: https://www.luogu.com.cn/problem/P3156 (洛谷原题) 2.解析与代码实现: (1)解析: 首先结合题目和输出样例不难看出这道题目是围绕两…

Java 基于微信小程序的高校科研团队管理系统设计与实现(附源码,部署,文档

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

C#,任意阶幻方(Magic Square)的算法与源代码

1 什么是幻方? 幻方(Magic Square)是一种将数字安排在正方形格子中,使每行、列和对角线上的数字和都相等的方法。 幻方也是一种中国传统游戏。旧时在官府、学堂多见。它是将从一到若干个数的自然数排成纵横各为若干个数的正方形&…

java求职学习day12

1 泛型机制(熟悉) 1.1 基本概念 (1)通常情况下集合中可以存放不同类型的元素,是因为将所有对象都看作Object类型放入,因此从集合中取出元素时,也是Object类型,为了表达该元素真实的…

uni-app h5修改浏览器导航栏的 title以及icon

1.title 在pages.json文件中修改:"navigationBarTitleText":"uni-app" 2.icon的修改 2.1 在static中新建一个index.html文件作为模板文件,并且将你的icon图片也放在static文件夹下 2.2 在index.html文件中加入如下代码(记得icon文件…

Mac——Docker desktop安装与使用教程

摘要 本文是一篇关于Mac系统下Docker Desktop安装与使用教程的博文。首先介绍连接WiFi网络,然后详细阐述了如何在Mac上安装Docker,包括下载地址以及不同芯片版本的选择。接着讲解了如何下载基础镜像和指定版本镜像,旨在帮助用户在Mac上高效使…

OJ题目下篇

我们今天继续来看链表的算法题目 我们先来看第一道题: 这是一道牛客网的题目: 链表的回文结构_牛客题霸_牛客网 我们来看这道题:首先我们要判断是不是回文结构,我们之前判断过数组的回文,这是比较好判断的&#xff…

25/1/14 算法笔记<强化学习> CBR加强化学习

CBR,基于案例的推理,它是一种基于过去的实际经验或经历的推理,他可以根据过往的案例找到与当前案例最相关的案例,然后对该案例做改动来解决当前的问题。 CBR的过程 CBR可以看作一个循环过程:相似按键检索-->案例重用-->案…

初识JAVA-面向对象的三大特征之多态

1. 重温面向对象 面向对象是一种解决问题的思想,它把计算机程序看作是各种对象组合起来的。每个对象都有自己的数据(属性)和行为(方法),主要依靠对象之间的交互来解决和实现问题。Java是一门纯面向对象的语…

Pytorch基础教程:从零实现手写数字分类

1.Pytorch简介 ‌PyTorch是一个开源的深度学习框架,由Facebook的人工智能研究院(FAIR)开发,并于2017年1月正式推出。‌ PyTorch以其灵活性和易用性著称,特别适合于深度学习模型的构建和训练。它基于Torch张量库开发&a…

高性能现代PHP全栈框架 Spiral

概述 Spiral Framework 诞生于现实世界的软件开发项目是一个现代 PHP 框架,旨在为更快、更清洁、更卓越的软件开发提供动力。 特性 高性能 由于其设计以及复杂精密的应用服务器,Spiral Framework框架在不影响代码质量以及与常用库的兼容性的情况下&a…

运维高级课作业三

源码编译安装httpd 2.4 首先下载好httpd-2.4.62.tar.bz2的安装包 将这个文件传入Linux中 将他解归档解入/usr/src/ rpm -e httpd --nodeps # 如果系统自带httpd这个软件要删除掉,两个软件不能同时运行 yum -y install apr apr-devel cyrus-sasl-devel expat-dev…

.Net8 Avalonia跨平台UI框架——<vlc:VideoView>控件播放海康监控、摄像机视频(Windows / Linux)

一、UI效果 二、新建用户控件:VideoViewControl.axaml 需引用:VideoLAN.LibVLC.Windows包 Linux平台需安装:VLC 和 LibVLC (sudo apt-get update、sudo apt-get install vlc libvlccore-dev libvlc-dev) .axaml 代码 注…

【HM-React】08. Layout模块

基本结构和样式reset 结构创建 实现步骤 打开 antd/Layout 布局组件文档,找到示例:顶部-侧边布局-通栏拷贝示例代码到我们的 Layout 页面中分析并调整页面布局 代码实现 pages/Layout/index.js import { Layout, Menu, Popconfirm } from antd impor…