鸿蒙HarmonyOS 【ArkTS组件】通用属性-文本通用

文本通用属性目前只针对包含文本元素的组件,设置文本样式。

fontColor

fontColor(value: ResourceColor)

设置字体颜色。

卡片能力: 从API version 9开始,该接口支持在ArkTS卡片中使用。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名类型必填说明
valueResourceColor字体颜色。

fontSize

fontSize(value: number | string | Resource)

设置字体大小。

卡片能力: 从API version 9开始,该接口支持在ArkTS卡片中使用。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名类型必填说明
valueResource | number | string字体大小。fontSize为number类型时,使用fp单位。字体默认大小16fp。不支持设置百分比字符串。

fontStyle

fontStyle(value: FontStyle)

设置字体样式。

卡片能力: 从API version 9开始,该接口支持在ArkTS卡片中使用。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名类型必填说明
valueFontStyle

字体样式。

默认值:FontStyle.Normal

fontWeight

fontWeight(value: number | FontWeight | string)

设置文本的字体粗细,设置过大可能会在不同字体下有截断。

卡片能力: 从API version 9开始,该接口支持在ArkTS卡片中使用。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名类型必填说明
valueFontWeight | number | string

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

默认值:FontWeight.Normal

fontFamily

fontFamily(value: string | Resource)

设置字体列表。

卡片能力: 从API version 9开始,该接口支持在ArkTS卡片中使用。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名类型必填说明
valueResource | string

字体列表。默认字体'HarmonyOS Sans'。

应用当前支持'HarmonyOS Sans'字体和注册自定义字体。

卡片当前仅支持'HarmonyOS Sans'字体。

lineHeight

lineHeight(value: number | string | Resource)

设置文本的文本行高,设置值不大于0时,不限制文本行高,自适应字体大小。

卡片能力: 从API version 9开始,该接口支持在ArkTS卡片中使用。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名类型必填说明
valueResource | number | string文本行高,为number类型时单位为fp。

decoration

decoration(value: DecorationStyleInterface)

设置文本装饰线样式及其颜色。

卡片能力: 从API version 9开始,该接口支持在ArkTS卡片中使用。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名类型必填说明
valueDecorationStyleInterface12+

文本装饰线样式对象。

默认值:

{

type: TextDecorationType.None,

color: Color.Black,

style: TextDecorationStyle.SOLID

}

说明:

style参数不支持卡片能力。

示例

该示例通过fontColor、fontSize、fontStyle、fontWeight属性展示了不同样式的文本效果。

// xxx.ets
@Entry
@Component
struct TextStyleExample {
  build() {
    Column({ space: 8 }) {
      Text('default text')
      
      Text('text font color red').fontColor(Color.Red)
      
      Text('text font default')
      Text('text font size 10').fontSize(10)
      Text('text font size 10fp').fontSize('10fp')
      Text('text font size 20').fontSize(20)
      
      Text('text font style Italic').fontStyle(FontStyle.Italic)
      
      Text('text fontWeight bold').fontWeight(700)
      Text('text fontWeight lighter').fontWeight(FontWeight.Lighter)
      
      Text('red 20 Italic bold text')
        .fontColor(Color.Red)
        .fontSize(20)
        .fontStyle(FontStyle.Italic)
        .fontWeight(FontWeight.Bold)
      
      Text('Orange 18 Normal text')
        .fontColor(Color.Orange)
        .fontSize(18)
        .fontStyle(FontStyle.Normal)


      Text('text lineHeight 30')
        .lineHeight(30)
        .backgroundColor(Color.Gray)


      Text('text fontFamily HarmonyOS Sans')
        .fontFamily("HarmonyOS Sans")


      Text('Underline Black SOLID decoration text')
        .decoration({
          type: TextDecorationType.Underline,
          color: Color.Black,
          style: TextDecorationStyle.SOLID
        })
      Text('Overline Red DOTTED decoration text')
        .decoration({
          type: TextDecorationType.Overline,
          color: Color.Red,
          style: TextDecorationStyle.DOTTED
        })
      Text('LineThrough Orange SOLID decoration text')
        .decoration({
          type: TextDecorationType.LineThrough,
          color: Color.Orange,
          style: TextDecorationStyle.WAVY
        })
    }.width('100%')
  }
}

<think>嗯,用户想了解ArkTS中text组件的用法和属性。首先,我需要回顾一下ArkTS的基础知识,特别是关于text组件的部分。根据引用[1]和[2],ArkTS使用@Component装饰器来定义自定义组件,而text组件有一些特定的属性。 首先,我应该介绍text组件的基本作用,比如显示文本内容。然后,列出常用的属性,比如type、fontColor、fontSize等,每个属性需要详细说明,可能还需要示例代码。引用[2]提到,除了通用属性,text还支持type属性,这个要重点说明。 然后,用户可能需要示例代码来理解如何使用这些属性。需要确保代码符合ArkTS的语法,比如使用struct定义组件,使用@Entry标记入口组件。同时,示例中应该展示多个属性的组合使用,比如设置字体颜色、大小、样式,还有type属性的不同值。 接下来,使用注意事项也很重要,比如文本溢出处理、性能优化和国际化支持。这部分需要根据实际开发经验给出建议,比如长文本使用省略号,避免频繁更新文本内容。 最后,生成相关问题,帮助用户深入理解。问题可以包括属性对比、样式继承、自定义样式等,参考之前用户提供的示例结构。 需要检查是否有遗漏的属性或者最新的更新,但目前引用中提到的属性应该足够。确保回答结构清晰,分点说明,代码示例正确,并且引用标识正确添加。同时,要使用中文,保持口语化,但避免使用Markdown格式。</think>### ArkTS Text组件使用说明 #### 一、基础用法 ArkTS的Text组件是用于显示文本内容的基础UI组件,支持多种文本样式设置。以下是最基础的使用示例: ```typescript @Entry @Component struct TextExample { build() { Column() { Text('HarmonyOS开发者社区') .fontSize(20) .fontColor(Color.Blue) } } } ``` #### 二、核心属性解析 根据引用[2]的说明,Text组件支持以下特有属性: | 属性 | 类型 | 说明 | |---------------|-------------------|----------------------------------------------------------------------| | type | TextType | 定义文本类型:Normal(默认)/Password(密文显示) | | decoration | {type: TextDecorationType, color?: Color} | 文本装饰线样式(下划线/删除线/上划线) | | letterSpacing | number \| string | 字符间距,支持数字或百分比 | | textAlign | TextAlign | 文本对齐方式(Start/Center/End) | | textOverflow | {overflow: TextOverflow} | 文本溢出处理方式(Clip截断/Ellipsis省略号) | #### 三、综合示例 ```typescript @Entry @Component struct AdvancedTextExample { build() { Column() { Text('猫头虎技术社群矩阵') .type(TextType.Password) // 密文显示 .decoration({ type: TextDecorationType.Underline, color: Color.Red }) .fontSize(24) .fontFamily('Arial') .textAlign(TextAlign.Center) .textOverflow({ overflow: TextOverflow.Ellipsis }) .maxLines(1) }.width('100%') } } ``` #### 四、使用注意 1. **文本溢出处理**:当文本超出容器时,需配合`.maxLines()`和`.textOverflow()`使用 2. **性能优化**:避免在频繁更新的文本内容中使用复杂样式 3. **国际化支持**:建议使用资源引用的方式加载文本内容 [^1]: 引用自ArkTS组件开发规范 [^2]: 参考Text组件官方文档
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值