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 跨文件复用样式
845浏览 • 1回复 待解决
HarmonyOS 跨文件样式复用
975浏览 • 1回复 待解决
HarmonyOS 全局UI样式复用
838浏览 • 1回复 待解决
HarmonyOS 如何全局复用样式
1534浏览 • 1回复 待解决
鸿蒙怎么实现UI控件样式复用
8771浏览 • 3回复 待解决
HarmonyOS 组件复用问题
1529浏览 • 1回复 待解决
HarmonyOS webview提前创建复用
872浏览 • 1回复 待解决
HarmonyOS list控件子组件复用
1506浏览 • 1回复 待解决
HarmonyOS 跨HAR组件复用问题
853浏览 • 1回复 待解决
HarmonyOS 复用转场动画示例3问题
983浏览 • 1回复 待解决
Swiper是否支持组件复用
1789浏览 • 1回复 待解决
HarmonyOS 如何知道组件复用是否生效
1516浏览 • 1回复 待解决
字体库文件如何复用
4370浏览 • 1回复 待解决
Stage 模型下,ListItem 怎么复用
1396浏览 • 1回复 待解决
HarmonyOS stateStyles多态样式
940浏览 • 1回复 待解决