HarmonyOS 复用样式

我有两个text里的样式完全一样,我抽出来写@Style,但是它说fontsize不可以写在外面,那怎么写通用样式。

HarmonyOS
2025-01-09 16:36:40
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
fox280

@Styles后续不会继续演进,推荐开发者使用新的样式复用方法,通过attributeModifier属性动态的设置组件,通过自定义class继承对应基础组件的Modifier,在class中设置复用的属性,可参考以下示例:

// xxx.ets
class MyButtonModifier implements AttributeModifier<TextAttribute> {
  isDark: boolean = false
  applyNormalAttribute(instance: TextAttribute): void {
    if (this.isDark) {
      instance.backgroundColor(Color.Black)
    } else {
      instance.backgroundColor(Color.Red)
    }
    instance.fontSize(55)
  }
}

@Entry
@Component
struct attributeDemo {
  @State modifier: MyButtonModifier = new MyButtonModifier()

  build() {
    Row() {
      Column() {
        Text("Button")
          .attributeModifier(this.modifier)
          .onClick(() => {
            this.modifier.isDark = !this.modifier.isDark
          })
        Text("呵呵")
          .attributeModifier(this.modifier)

      }
      .width('100%')
    }
    .height('100%')
  }
}
分享
微博
QQ
微信
回复
2025-01-09 19:58:28
相关问题
HarmonyOS 跨文件复用样式
272浏览 • 1回复 待解决
HarmonyOS 全局UI样式复用
195浏览 • 1回复 待解决
HarmonyOS 跨文件样式复用
334浏览 • 1回复 待解决
HarmonyOS 如何全局复用样式
904浏览 • 1回复 待解决
鸿蒙怎么实现UI控件样式复用
8115浏览 • 3回复 待解决
HarmonyOS 组件复用问题
860浏览 • 1回复 待解决
HarmonyOS list控件子组件复用
842浏览 • 1回复 待解决
HarmonyOS webview提前创建复用
337浏览 • 1回复 待解决
Swiper是否支持组件复用
1162浏览 • 1回复 待解决
HarmonyOS 跨HAR组件复用问题
385浏览 • 1回复 待解决
HarmonyOS 复用转场动画示例3问题
325浏览 • 1回复 待解决
HarmonyOS Toast设置样式
309浏览 • 1回复 待解决
HarmonyOS 全局样式替换
214浏览 • 1回复 待解决
HarmonyOS swiper组件样式
413浏览 • 1回复 待解决
HarmonyOS stateStyles多态样式
267浏览 • 1回复 待解决