HarmonyOS 如何实现通用样式

一、能否像前端添加class一样,一个通用css样式(分全局和组件内两种情况),供多个组件使用,参考:

.normal-font{
  font-size: 16px;
  text-align: center;
  color: #36363A;
  margin: 0 auto 10px;
}

<div class="class1 normal-font">666</div>
  <div class="class2 normal-font">123</div>
  <div class="class3 normal-font">678</div>
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

二、能否直接把某些样式给到包裹层,比如字体字号颜色之类,目前容器组件是不能添加字体字号样式的,但是容器内的基础组件使用的又是相同的样式,这样代码很冗余以下text组件的样式每次都要写一遍一样的

Row(){
  Row(){
    Text('文案1')
      .fontColor($r('app.color.black_36'))
      .fontSize(15)
    ......//其他组件
  }
  Row(){
    Text('文案2')
      .fontColor($r('app.color.black_36'))
      .fontSize(15)
    ......//其他组件
  }
  Row(){
    Text('文案3')
      .fontColor($r('app.color.black_36'))
      .fontSize(15)
    ......//其他组件
  }

}
.fontSize(15) //报错:Property 'fontColor' does not exist on type 'RowAttribute'. <ArkTSCheck>
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
HarmonyOS
2024-12-24 16:40:23
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
zbw_apple

一、能否像前端添加class一样,一个通用css样式(分全局和组件内两种情况),供多个组件使用–使用@Styles装饰器可以将多条样式设置提炼成一个方法,直接在组件声明的位置调用。通过@Styles装饰器可以快速定义并复用自定义样式。注意:当前@Styles仅支持通用属性和通用事件。

参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-style-V5

二、能否直接把某些样式给到包裹层–由于fontSize不是通用样式,所以没法写在容器组件上。当前的方法是在@Styles的基础上,我们提供了@Extend,用于扩展原生组件样式。通过@Extend组合样式,可以使得代码更加简洁,增强可读性。

参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-extend-V5#使用场景

分享
微博
QQ
微信
回复
2024-12-24 20:02:38
相关问题
如何实现通用的吸顶效果
1229浏览 • 1回复 待解决
HarmonyOS 如何实现剪裁样式
496浏览 • 1回复 待解决
HarmonyOS 如何实现气泡样式
584浏览 • 1回复 待解决
HarmonyOS 如何实现动态样式
513浏览 • 1回复 待解决
应用通用获焦及走焦方式如何实现
2795浏览 • 1回复 待解决
HarmonyOS 如何实现券组件的挖空样式
499浏览 • 1回复 待解决
HarmonyOS ets如何定义class的通用类型
793浏览 • 1回复 待解决
HarmonyOS 需要“登录页面”通用能力
479浏览 • 1回复 待解决
openharmony 的ets和js 的Api能否实现通用
6499浏览 • 1回复 待解决
组合样式怎样去实现导入导出
2766浏览 • 1回复 待解决
如何实现一个仪表盘样式的组件?
1103浏览 • 1回复 待解决
求大佬告知通用组件如何打包
1809浏览 • 1回复 待解决
鸿蒙怎么实现UI控件样式复用 ?
8502浏览 • 3回复 待解决