首页 > 编程笔记 > 通用技能 阅读:10

ArkTS @Styles装饰器的用法(附带实例)

在开发过程中,不可避免地要写一些样式来设置元素的展示形态,比如字体的粗细、图片的大小等,但是会有很多重复的样式。

面对这些重复的样式,我们没有必要去粘贴复制。为了代码的简洁性和后续维护的便利性,可以提炼出一些公共样式进行复用,这时就会用到 @Styles 装饰器了。

在使用 @Styles 装饰器之前,需要明确以下几点:
@Styles 装饰器的使用方法如下:
// 全局
@Styles function functionName() { ... }
//在组件内
@Component
struct FancyUse {
  @Styles fancy() {
    .height(100)
  }
}

ArkTS @Styles装饰器使用案例

@Styles 装饰器的示例代码如下:
// 定义一个全局的通用样式
@Styles function globalStyles() {
  .width(300)
  .height(200)
  .backgroundColor('#ff0000')   // 红色
  .margin(10)
  .padding(10)
}

@Entry
@Component
struct Demo_Styles {
  // 定义组件内的通用样式
  @Styles myStyles() {
    .width(300)
    .height(200)
    .backgroundColor('#0000ff') // 蓝色
    .margin(10)
    .padding(10)
  }

  build() {
    Column() {
      // 使用全局样式
      Text('这是全局样式')
        .globalStyles()
        .fontSize(20)

      // 组件内的样式
      Text('组件内的样式')
        .myStyles()
        .fontColor('#ffffff')
        .width('100%')
        .height('100%')
    }
  }
}
在上述示例代码中,分别定义了全局的 Styles 函数封装和组件内的函数封装。无论是全局的还是组件内的,只需在函数中使用“.属性名:属性”的格式即可。在使用过程中,直接将其当作普通的属性使用即可,同时也可以为当前的UI组件添加其他的一些样式。

效果如下图所示:


图 1 @Styles装饰器

相关文章