HarmonyOS 如何提取UI的公共属性,达到共用目的?

假设有两个Button,都需要设置以下属性:

.width("")  
.height("")  
.fontSize("")  
.fontColor()  
.margin({ })  
.linearGradient({ })  
.borderRadius("")

那么如何将这些属性提取出来,然后分别让这两个Button引用,这样就可以避免重复编写代码。

HarmonyOS
2024-10-17 11:10:56
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

attributeModifier当前支持封装一个样式导出供其他组件使用,示例如下:

//CommonAttribute.ets  
export class TitleTextAttribute implements AttributeModifier<TextAttribute> {  
  applyNormalAttribute(instance: TextAttribute): void {  
    instance.backgroundColor(Color.Black)  
    instance.fontColor(Color.White)  
    instance.fontSize(40)  
  }  
}
//Index.ets  
import { TitleTextAttribute } from './CommonAttribute'  
@Entry  
@Component  
struct Index {  
  @State modifier: TitleTextAttribute = new TitleTextAttribute()  
  build() {  
    Row() {  
      Column() {  
        Text('Hello World')  
          .attributeModifier(this.modifier) }  
      .width('100%')  
    }  
    .height('100%')  
  }  
}
分享
微博
QQ
微信
回复
2024-10-17 16:09:18
相关问题
公共样式提取到一个公共文件中
167浏览 • 1回复 待解决
嵌套Class属性变化无法触发UI渲染
189浏览 • 1回复 待解决
如何获取HarmonyOS目的SHA1?
5070浏览 • 1回复 待解决
HarmonyOS 公共组件封装
279浏览 • 1回复 待解决
HarmonyOS 更改项目的bundlename后报错
921浏览 • 1回复 待解决
大家期待鸿蒙能达到什么程度
9168浏览 • 11回复 已解决