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>

二、能否直接把某些样式给到包裹层,比如字体字号颜色之类,目前容器组件是不能添加字体字号样式的,但是容器内的基础组件使用的又是相同的样式,这样代码很冗余以下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>
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
相关问题
如何实现通用的吸顶效果
783浏览 • 1回复 待解决
HarmonyOS 如何实现动态样式
134浏览 • 1回复 待解决
HarmonyOS 如何实现剪裁样式
95浏览 • 1回复 待解决
HarmonyOS 如何实现气泡样式
142浏览 • 1回复 待解决
应用通用获焦及走焦方式如何实现
2210浏览 • 1回复 待解决
HarmonyOS 如何实现券组件的挖空样式
143浏览 • 1回复 待解决
HarmonyOS 需要“登录页面”通用能力
126浏览 • 1回复 待解决
openharmony 的ets和js 的Api能否实现通用
5686浏览 • 1回复 待解决
鸿蒙怎么实现UI控件样式复用 ?
7961浏览 • 3回复 待解决
HarmonyOS ets如何定义class的通用类型
224浏览 • 1回复 待解决
HarmonyOS 如何设置控件样式
457浏览 • 1回复 待解决
HarmonyOS 如何全局复用样式
652浏览 • 1回复 待解决
组合样式怎样去实现导入导出
2180浏览 • 1回复 待解决
不同组件不同样式的效果如何实现
497浏览 • 1回复 待解决