当前位置: 首页 > news >正文

鸿蒙(HarmonyOS)应用开发——基础组件

组件

组件化是一种将复杂的前端应用程序分解成小的、独立的部分的方法。这些部分被称为组件,它们可以重复使用,可以与其他组件组合使用以创建更复杂的组件,并且它们有自己的生命周期和状态。

组件化的目的是提高开发效率和代码重用率,使开发人员更专注于组件自身的实现,而不是整个应用程序。这样可以提高代码的可维护性和可扩展性,并且减少了程序出错的机会。

组件是界面搭建与显示的最小单位;

根据功能分类
基础组件
容器组件
媒体组件
绘制组件
画布组件
Text
Image
TextInput
Button
LoadingProgress
....

Image 组件

Image 用来渲染展示图片的组件,支持加载本地和网络图片

语法

Image(src: string|PixelMap|Resourece)
  • string
    访问网络图片、本地图片

访问网络图片时,需要在module.json5文件中添加网络访问权限
‘module’:{ 'reqPermissinos':[ {"name":"ohos.permission.INTERNET"} ] }

  • PixelMap
    PixelMap 为图像像素类,用于读取或写入图像数据以及获取图像信息。
  • Resource 类型
    使用时,需要先将图片放在resource 的 media或 rawfile目录下

属性

width()| height()支持number、string和resource

Text组件

用于在界面上展示一段文本信息,可以包含子组件

语法

Text(content?:string|resouce)

属性

  • 文本样式
    可使用fontColor、fontSize、fontStyle、fontWeight、fontFamily文本样式
名称参数类型描述
fontColorResouceColor设置文本颜色
fontSizeLength /Resource设置文本尺寸,Length为number类型时,使用fp单位。
fontStyleFontStyle设置文本的字体样式。默认值:FontStyle.Normal。
fontWeightnumber / FontWeigh /string设置文本的字体粗细,number类型取值[100, 900],取值间隔为100,默认为400,取值越大,字体越粗。string类型仅支持number类型取值的字符串形式,例如“400”,以及“bold”、“bolder”、“lighter”、“regular”、“medium”,分别对应FontWeight中相应的枚举值。默认值:FontWeight.Normal。
fontFamilystring /Resource设置文本的字体列表。使用多个字体,使用“,”进行分割,优先级按顺序生效。例如:“Arial,sans-serif”。
 Text('HarmonyOS').fontColor(Color.Blue).fontSize(20).fontStyle(FontStyle.Italic).fontWeight(FontWeight.Bold).fontFamily('Arial')
  • 文本对其方式
    可以使用textAlign属性设置文本的对齐方式
名称描述
Start水平对齐首部。
Center水平居中对齐。
End水平对齐尾部。
Text('HarmonyOS').width(200).textAlign(TextAlign.Start)
  • 设置文本超长显示
    当文本内容较多超出了Text组件范围的时候,您可以使用textOverflow设置文本截取方式,需配合maxLines使用,单独设置不生效,maxLines用于设置文本显示最大行数
Text('This is the text content of Text Component This is the text content of Text Component').fontSize(16).maxLines(1).textOverflow({overflow:TextOverflow.Ellipsis})
  • 设置文本装饰线
    使用decoration设置文本装饰线样式及其颜色
decoration({ type: TextDecorationType.Underline, color: Color.Black })
TextDecorationType类型描述
None不使用文本装饰线
Overline文字上划线修饰。
LineThrough穿过文本的修饰线。
Underline文字下划线修饰。

TextInput

用来输入但行文本并支持响应输入事件

属性

  • 设置提示文本
    当我们平时使用输入框的时候,往往会有一些提示文字
TextInput({ placeholder: '请输入帐号' })
  • 设置最大输入字符数
maxLength()
  • 设置文本框输入类型
    可以使用type属性来设置输入框类型
TextInput({ placeholder: '请输入密码' }).type(InputType.Password)
InputType类型描述
Normal基本输入模式。支持输入数字、字母、下划线、空格、特殊字符。
Password密码输入模式。
Emaile-mail地址输入模式
Number纯数字输入模式。
PhoneNumber9+电话号码输入模式。
  • 设置光标位置
    可以使用TextInputController动态设置光位置
 controller: TextInputController = new TextInputController()this.controller.caretPosition(2)
  • 获取输入文本
    可以给TextInput 设置onChange 获取文本信息
 @State text: string = ''TextInput({ placeholder: '请输入账号' }).caretColor(Color.Blue).onChange((value: string) => {this.text = value})

Button

主要用来响应点击事件,可以包含子组件。

属性

  • 设置按钮样式
    type用于定义按钮样式,示例代码中ButtonType.Capsule表示胶囊形按钮;stateEffect用于设置按钮按下时是否开启切换效果,当状态置为false时,点击效果关闭,默认值为true。
ButtonType类型描述
Capsule胶囊型按钮(圆角默认为高度的一半)
Circle圆形按钮。
Normal普通按钮(默认不带圆角
  • 设置按钮点击事件
    可以给Button绑定onClick事件,每当用户点击Button的时候,就会回调执行onClick方法
Button('登录', { type: ButtonType.Capsule, stateEffect: true })....onClick(() => {// 处理点击事件逻辑})
  • 包含子组件
    Button组件可以包含子组件,让您可以开发出更丰富多样的Button

相关文章:

鸿蒙(HarmonyOS)应用开发——基础组件

组件 组件化是一种将复杂的前端应用程序分解成小的、独立的部分的方法。这些部分被称为组件,它们可以重复使用,可以与其他组件组合使用以创建更复杂的组件,并且它们有自己的生命周期和状态。 组件化的目的是提高开发效率和代码重用率&#…...

Vue3的项目创建到启动

Vue3的项目创建 检查node版本创建 npm init vuelatest 安装依赖 项目启动 启动成功...

开关电源基础而又硬核的知识

1.什么是Power Supply? Power Supply是一种提供电力能源的设备,它可以将一种电力能源形式转换成另外一种电力能源形式,并能对其进行控制和调节。 根据转换的形式分类:AC/DC、DC/DC、DC/AC、AC/AC 根据转换的方法分类:线性电源、…...

LightDB23.4 支持转换sql中中文空格和逗号为英文空格和逗号

功能介绍 在Lightdb数据库兼容Oracle的语法时,发现Oracle支持sql语句中使用中文空格和中文逗号,为了方便用户迁移到Lightdb,在Lightdb23.4版本中支持了转换中文空格和逗号的功能。该功能由GUC参数lightdb_convert_chinese_char来控制开关&am…...

EM@常见平面曲线的方程的不同表示方式

文章目录 abstract常见曲线的不同形式小结:一览表分析圆锥曲线的极坐标方程非标准位置的圆锥曲线参数方程应用比较 refs abstract 常见平面曲线的方程的不同表示方式 常见曲线的不同形式 下面以平面曲线为对象讨论参数方程通常是对普通方程的补充和增强,曲线的普通方程(直角…...

element使用小结

1、tabel表头文字自定义效果&#xff08;换行&#xff0c;不同颜色&#xff09; 换行&#xff1a; // 方法一 <el-table-columnprop"otherCost":label"本期累计\n(元)"> // 通过:label添加\n </el-table-column>.xx .cell {white-space: pre-…...

自动驾驶DCLC 功能规范

目录 1 概述Summary....................................................................................................... 4 1.1 目的Purpose....................................................................................................... 4 1.2 范围Ran…...

LabVIEW中将SMU信号连接到PXI背板触发线

LabVIEW中将SMU信号连接到PXI背板触发线 本文介绍如何将信号从PXI&#xff08;e&#xff09;SMU卡路由到PXI&#xff08;e&#xff09;机箱上的背板触发线。该过程涉及使用NI-DCPowerVI将SMU信号导出到PXI_TRIG线上。 在继续操作之前&#xff0c;请确保在开发PC上安装了兼容版…...

[蓝桥杯习题]———位运算、判断二进制1个数

⭐Hello!这里是欧_aita的博客。 ⭐今日语录&#xff1a;行动胜过一切。 ⭐个人主页&#xff1a;欧_aita ψ(._. )>⭐个人专栏&#xff1a; 数据结构与算法&#xff08;内含蓝桥杯习题&#xff09; MySQL数据库 位运算 位运算位运算的定义简单运用 实战刷题题目思路代码实现声…...

3DCAT为华东师大设计学院打造元宇宙数字虚拟学院

6月11日&#xff0c;华东师范大学设计学院在chi K11美术馆举办了一场别开生面的 2023 年本科毕业设计暨项目实践教学现场演示展。其中&#xff0c;元宇宙数字虚拟学院&#xff08;一期&#xff09;的现场发布会引起了现场震撼&#xff0c;吸引了众多观众的目光和参与。 该元宇宙…...

AIGC 3D即将爆发,混合显示成为产业数字化的生产力平台

2023年&#xff0c;大语言模型与生成式AI浪潮席卷全球&#xff0c;以文字和2D图像生成为代表的AIGC正在全面刷新产业数字化。而容易为市场所忽略的是&#xff0c;3D图像生成正在成为下一个AIGC风口&#xff0c;AIGC 3D宇宙即将爆发。所谓AIGC 3D宇宙&#xff0c;即由文本生成3D…...

时间序列预测实战(二十一)PyTorch实现TCN卷积进行时间序列预测(专为新手编写的自研架构)

一、本文介绍 本篇文章给大家带来的是利用我个人编写的架构进行TCN时间序列卷积进行时间序列建模&#xff08;专门为了时间序列领域新人编写的架构&#xff0c;简单不同于市面上大家用GPT写的代码&#xff09;&#xff0c;包括结果可视化、支持单元预测、多元预测、模型拟合效…...

探索计算机视觉:深度学习与图像识别的融合

探索计算机视觉&#xff1a;深度学习与图像识别的融合 摘 要&#xff1a; 本文将探讨计算机视觉领域中的深度学习技术&#xff0c;并重点关注图像识别方面的应用。我们将介绍卷积神经网络&#xff08;CNN&#xff09;的原理、常用的图像数据集以及图像识别的实际应用场景&…...

屏蔽WordPress评论中长URL地址方法

由于WordPress是比较常见的CMS程序之一&#xff0c;所以很多网络营销推广也会基于WP去群发外链和广告信息。这里&#xff0c;我们可以通过屏蔽特定关键字、屏蔽特定字符的方式&#xff0c;或者是屏蔽评论内容的长短来限制评论。还有一个我们可以通过评论内容的URL地址的长度来屏…...

【教程】 一文部署配置并入门 Redis

综述 什么是Redis Redis官网——Redis.io Redis, 作为一个高性能的键值对数据库&#xff0c;主要应用于以下场景&#xff1a; 缓存系统&#xff1a;由于其高速读写能力&#xff0c;Redis 非常适合用作缓存系统&#xff0c;减少数据库负载。 会话存储&#xff08;Session St…...

数据被锁住了?如何应对.mkp病毒的攻击

导言&#xff1a; 在数字时代的舞台上&#xff0c;.mkp勒索病毒如幽灵般悄然崭露头角&#xff0c;威胁着无数个体和组织的数据安全。本文将深度挖掘.mkp勒索病毒的狡猾本质&#xff0c;并为你揭示应对感染的独特方法&#xff0c;以及如何巧妙规避这个数字威胁。 如果您在面对被…...

【Shell】Shell基础学习

一、shell脚本 (1)第一个shell脚本 #!/bin/bash #this is a comment echo "hello world"一个shell脚本永远以“#!”开头,这是一个脚本开始的标记,它是告诉系统执行这个文件需要用某个解释器,后面的/bin/bash就是指明解释器的具体位置。 “#”开头是注释 …...

python文件读取

相对路径 读文件 打印txt文件 fopen(".\data.txt","r",encoding"utf-8") contentf.read() print(content) f.close()with open(".\data.txt","r",encoding"utf-8") as f:contentf.read()print(content)contentf…...

第16关 革新云计算:如何利用弹性容器与托管K8S实现极速服务POD扩缩容

------> 课程视频同步分享在今日头条和B站 天下武功&#xff0c;唯快不破&#xff01; 大家好&#xff0c;我是博哥爱运维。这节课给大家讲下云平台的弹性容器实例怎么结合其托管K8S&#xff0c;使用混合服务架构&#xff0c;带来极致扩缩容快感。 下面是全球主流云平台弹…...

算法通关村第十二关|黄金挑战|最长公共前缀字符串压缩

1.最长公共前缀 原题&#xff1a;力扣14. 1.从前到后比较每个字符串的同一个位置。 public String longestCommonPrefix(String[] strs) {if (strs null || strs.length 0) {return "";}int length strs[0].length();int count strs.length;for (int i 0; i …...

内网离线部署RPA:打包EXE+本地激活+数据零上云方案

领导给了一周&#xff0c;我前三天全耗在这个报错上&#xff1a;无法连接到 activation.xxx.com 请检查网络连接后重试2024年5月&#xff0c;我用的蓝印RPA物理隔离内网部&#xff0c;处理核心业务数据&#xff0c;要求"数据不出本机&#xff0c;流程不外传&#xff0c;审…...

泉盛UV-K5/K6对讲机专业级固件定制与功能扩展指南

泉盛UV-K5/K6对讲机专业级固件定制与功能扩展指南 【免费下载链接】uv-k5-firmware-custom 全功能泉盛UV-K5/K6固件 Quansheng UV-K5/K6 Firmware 项目地址: https://gitcode.com/gh_mirrors/uvk5f/uv-k5-firmware-custom 泉盛UV-K5/K6对讲机LOSEHU固件是一款基于多个开…...

论文写到一半卡壳了?师兄推荐这几个AI写作辅助软件

写论文最怕的就是卡壳&#xff0c;尤其是当思路混乱、资料繁杂、格式要求又高时&#xff0c;很容易陷入停滞。其实&#xff0c;论文写作的关键不在于苦熬&#xff0c;而在于用对工具、走对流程——不少资深教授都建议学生提前布局&#xff0c;借助 AI 工具提升效率。比如千笔AI…...

用AI写论文,重复率和AIGC疑似率能同时控制在20%以内吗?实测几款主流软件的结果

2026年的毕业季&#xff0c;学术审核的天&#xff0c;彻底变了。两个月前&#xff0c;我的一位研究生朋友提交了初稿&#xff0c;查重率12%&#xff0c;自己还挺满意。结果导师一句话让他当场emo&#xff1a;“你这AIGC检测率42%&#xff0c;是不是AI代写的&#xff1f;”他愣住…...

华大半导体三大产品线深度解析:安全控制、汽车电子与功率芯片实战指南

1. 项目概述&#xff1a;一次关于“中国芯”的深度现场探访最近&#xff0c;我有机会近距离接触了华大半导体的产品展示与技术交流活动。当“聚焦三大产品线&#xff0c;华大半导体展示最强‘中国芯’&#xff01;”这个标题映入眼帘时&#xff0c;我内心的第一反应是&#xff…...

FCEUX:专业级NES模拟器的深度探索与实战应用

FCEUX&#xff1a;专业级NES模拟器的深度探索与实战应用 【免费下载链接】fceux FCEUX, a NES Emulator 项目地址: https://gitcode.com/gh_mirrors/fc/fceux &#x1f680; 在复古游戏复兴与技术考古的浪潮中&#xff0c;FCEUX以其卓越的专业性脱颖而出&#xff0c;成为…...

Mirth Connect终极指南:掌握医疗集成的瑞士军刀 [特殊字符]

Mirth Connect终极指南&#xff1a;掌握医疗集成的瑞士军刀 &#x1f680; 【免费下载链接】connect The swiss army knife of healthcare integration. 项目地址: https://gitcode.com/gh_mirrors/conn/connect Mirth Connect被誉为医疗集成领域的瑞士军刀&#xff0c;…...

终极SSDTTime指南:快速免费的系统硬件优化神器

终极SSDTTime指南&#xff1a;快速免费的系统硬件优化神器 【免费下载链接】SSDTTime SSDT/DSDT hotpatch attempts. 项目地址: https://gitcode.com/gh_mirrors/ss/SSDTTime 在计算机硬件优化领域&#xff0c;SSDTTime是一款革命性的跨平台工具&#xff0c;专为简化SSD…...

AI Agent社交交互延迟超800ms?——用eBPF+LLM Token流控双引擎压测实录(性能提升4.8倍原始基线)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI Agent社交交互延迟超800ms&#xff1f;——用eBPFLLM Token流控双引擎压测实录&#xff08;性能提升4.8倍原始基线&#xff09; 当AI Agent在高并发社交场景中响应延迟突破800ms&#xff0c;用户会感…...

5分钟快速上手gInk:Windows上最轻量级的免费屏幕画笔工具完整指南

5分钟快速上手gInk&#xff1a;Windows上最轻量级的免费屏幕画笔工具完整指南 【免费下载链接】gInk An easy to use on-screen annotation software inspired by Epic Pen. 项目地址: https://gitcode.com/gh_mirrors/gi/gInk gInk是一款专为Windows设计的屏幕画笔工具…...