ArkTS-ArkUI组件-Text组件

一.官方文档

Text这是官方文档,写的非常清楚,可直接参考。

二 .基本语法

Text:显示一段文本的组件。

Text(content?: string | Resource)

content就是文本内容 ,默认为: ' '(空)。有两种指定方式:一.字符串  二.读取本地资源 

下面我们就来看看吧!!!

一.字符串

字符串方式就十分简单,直接在括号内添加想要输出的字符即可。

注意:不要忘记加 '  ' (英文状态下的分号)哦!

属性后面后讲哦!!! 

 

二.读取本地资源

在介绍使用方法之前我们先来看两个目录:

resources——》base目录

resources——》en_US    // 默认存在的目录,设备语言环境是美式英文时,优先匹配此目录下资源

resources——》zh_CN// 默认存在的目录,设备语言环境是简体中文时,优先匹配此目录下资源

这些目录都是资源目录。其中 zh_CN和en_US又叫做限定词目录。

什么是限定词目录呢?就是存放设备信息的如:国家、语言、设备...

在读取本地资源之前,一定要先创建资源。

 我们分别打开en_US和zh_CN下的string.json,添加资源

注意:添加的变量名要确保一样

添加完中英文资源后发现任在报错,为什么呢??? 

因为限定词目录虽然写了但base目录没有写,当限定词目录都不匹配时就去走base目录。

所以我们任需要在base目录中添加资源 

在base目录下添加完资源后报错就消失啦!!! 

接下来我们来介绍它的语法吧! 

Text($r('app.string.变量名'))

 

上面说了有中文的语言环境和英文的语言环境,那如何进行选择呢???

在预览中点击“...”选择Language and region就可以进行选择啦

这样我们Text的两种使用方法就都掌握啦,接下来我们再来看几个它的常用属性吧!

三.属性

名称

参数类型

描述

fontColor

ResourceColor

设置文本颜色。

fontSize

Length | Resource

设置文本尺寸,Length为number类型时,使用fp单位。

fontStyle

FontStyle

设置文本的字体样式。默认值:FontStyle.Normal。

fontWeight

number | FontWeight | string

设置文本的字体粗细,number类型取值[100, 900],取值间隔为100,默认为400,取值越大,字体越粗。string类型仅支持number类型取值的字符串形式,例如“400”,以及“bold”、“bolder”、“lighter”、“regular”、“medium”,分别对应FontWeight中相应的枚举值。默认值:FontWeight.Normal。

fontFamily

string | Resource

设置文本的字体列表。使用多个字体,使用“,”进行分割,优先级按顺序生效。例如:“Arial,sans-serif”。

FontStyle:

.fontStyle(FontStyle.Italic)  注意:括号中的首字母大写

名称

描述

Normal

标准的字体样式。

Italic

斜体的字体样式。

fontWeight:

.fontWeight(FontWeight.Medium)

名称

描述

Lighter

字体较细。

Normal

字体粗细正常。

Regular

字体粗细正常。

Medium

字体粗细适中。

Bold

字体较粗。

Bolder

字体非常粗。

下面我们来看看效果吧:

 

是不是对齐首部不太好看,接下来我们在介绍一个设置文本对齐方式的属性吧!!!

textAlign—参数类型为TextAlign——》 .textAlign(TextAlign.Start)

Start(默认值):水平对齐首部。

Center:水平居中对齐。

End:水平对齐尾部。

下面我们来试一下效果吧!

发现加了却没有发生任何改变,为什么呢???

文本的对齐方式都是相对于其宽度来说的,如果未修改其宽度,那默认便是文字的宽度,对于其文字的宽度来改变对齐方式无意义。

 设置其宽度,发现达到预期效果!

四.语录

奋斗如烛光,照亮前行的道路。 

 快去敲起来吧!!!

五.彩蛋(来自某位大牛)

做布局定位不能光看组件本身,还得看其父组件定位,组件的定位是相对于父组件,内容的定位是相对于组件,所以父组件、组件、内容都是关联的,独立思考位置就一头雾水。

1、根节点,如上面Column() 是没有父组件的,所以是以自身的.position属性在屏幕上定位,默认position是(0,0)坐标,即对齐屏幕左上角;加上没有指定宽高,则自动包裹子组件所需大小;

2、子组件也未指定宽高,即自动按内容所需大小,最后整个布局只占用了左上角显示所有文本足够用的空间,在仅有文本内容所需宽度的空间中,对齐本身没有意义了,只在组件左右有空间剩余,水平对齐才有意义,同样只有上下有空间剩余,竖直对齐才有意义。

因此,加个.width('100%') 就是给组件有明显的空间余量,对齐效果才能显现。 布局有困惑时,一个小技巧是给各组件从外向内加上.backgroundColor() 属性,看到各组件最后实际占用的屏幕范围后,就容易想到是哪里没有指定应有的属性造成与从预期不符;排查就容易多了。

<think>好的,我现在要回答用户关于ArkTSArkUI是什么的问题。首先,我需要确认这两个术语的关联和背景。从之前的知识库中,我记得华为HarmonyOS有一个ArkUI框架,而ArkTS可能是相关的编程语言。不过,可能需要进一步验证这些信息,特别是因为用户可能指的是OpenHarmony中的技术,而不是华为HarmonyOS。 首先,ArkUI,全称可能为Ark User Interface,是OpenHarmony的一个UI开发框架。它允许开发者以声明式的方式来构建用户界面,类似于Flutter或SwiftUI。声明式UI的特点是更直观和高效,开发者只需描述UI应该呈现的状态,而不需要手动处理UI组件的更新。 接下来是ArkTS,这可能是一种基于TypeScript的语言,专为OpenHarmony设计。TypeScript是JavaScript的超集,增加了静态类型,ArkTS可能在TypeScript的基础上进行了扩展或调整,以适应OpenHarmony的开发需求。ArkTS可能用于编写应用逻辑,并与ArkUI框架结合使用,以创建应用程序的界面和交互。 需要确认的是,ArkTSArkUI是否确实是OpenHarmony的一部分,而不是其他框架。比如,是否与Google的Ark或其它项目有混淆的可能。根据之前的资料,OpenHarmony的ArkUI框架确实存在,并且ArkTS是推荐的开发语言,因此应该正确。 然后,我需要组织这些信息,分点解释ArkTSArkUI,包括它们的关系、特点、用途以及优势。例如,ArkTS可能强调静态类型和开发效率,而ArkUI强调声明式UI和跨设备适配能力。同时,需要说明它们如何协同工作,比如使用ArkTS编写逻辑,配合ArkUI构建界面。 还要注意区分OpenHarmony和HarmonyOS的区别,避免用户误解。OpenHarmony是开源项目,而HarmonyOS华为的商用版本,但两者在技术上有共通之处。 最后,确保语言简洁明了,适合不同技术背景的读者理解,可能需要举例说明声明式UI的优势,或者ArkTS与JavaScript/TypeScript的区别。同时,避免使用过于专业的术语,或者在必要时进行解释。 总结,回答的结构应该是先介绍ArkUI,再介绍ArkTS,然后说明两者的关系,最后总结它们的优势和应用场景。需要确保信息准确,结构清晰,语言通俗易懂。</think>ArkTSArkUI 是 OpenHarmony(开源鸿蒙)生态中的核心技术,主要用于高效开发跨终端应用**。以下是详细介绍: -- ### **1. ArkUI:声明式 UI 开发框架** - **定位**:OpenHarmony 的官方 UI 框架,提供声明式开发范式,简化界面构建。 - **特点**: - **声明式语法**:通过描述“界面应该是什么样子”(如组件布局、状态依赖),而非一步步编写更新逻辑,提升开发效率。 - **跨设备适配**:自动适配手机、平板、智能穿戴等不同设备的屏幕尺寸与交互方式。 - **高性能**:底层通过 Ark 引擎优化渲染效率,保障流畅体验。 - **组件丰富**:内置按钮、列表、动画等多样化组件,支持自定义扩展。 --- ### **2. ArkTS:基于 TypeScript 的应用开发语言** - **定位**:OpenHarmony 主推的应用开发语言,扩展自 TypeScript,专为鸿蒙生态优化。 - **特点**: - **强类型与静态检查**:继承 TypeScript 的类型系统,减少运行时错误,提升代码质量。 - **ArkUI 深度集成**:提供装饰器(如 `@Component`, `@State`)简化 UI 与数据的绑定,直接调用 ArkUI 组件- **精简高效**:剔除 JavaScript/TypeScript 中冗余特性,增强运行时性能,更适合资源受限的物联网设备。 --- ### **3. ArkTS + ArkUI 的关系** - **协作模式**:用 ArkTS 编写应用逻辑(如数据处理、网络请求),搭配 ArkUI 的声明式语法构建界面,二者紧密结合。 - **开发流程示例**: ```typescript @Entry @Component struct MyPage { @State count: number = 0; // 数据状态 build() { Column() { // ArkUI 组件 Text(`Count: ${this.count}`) Button('Click').onClick(() => { this.count++ }) // 事件绑定 } } } ``` - `@Component` 定义组件,`@State` 标记响应式数据,点击按钮自动更新界面。 --- ### **4. 优势与适用场景** - **优势**: - **跨端统一开发**:一次编码,多端部署(手机、手表、智慧屏等)。 - **开发体验友好**:声明式 UI + 强类型语言,兼顾效率与可靠性。 - **性能优化**:针对鸿蒙系统底层深度优化,保障应用流畅性。 - **适用场景**:适用于所有 OpenHarmony/HarmonyOS 设备的应用开发,尤其是需要跨设备协同的物联网应用。 --- **总结**:ArkUI 是构建界面的高效框架,ArkTS 是驱动应用的核心语言,二者结合为鸿蒙生态提供了现代化、高性能的开发工具链,助力开发者快速构建跨终端应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值