鸿蒙6:常用装饰器

一.@Extend:抽取特定组件样式、事件可以传递参数
@Extend(Image)
function  setImageStyle(){
  .size({width:100,height:100 } )
  .backgroundColor(Color.Red)

}

Image($r("app.media.layered_image")).setImageStyle()
二.@Styles: 抽取公共样式、事件不可以传递参数
@Styles function setCommonStyle(){
  .width(100)
  .height(100)
  .onClick(()=>{
   AlertDialog.show({message:"点击了"})
  })
}

      Text("设备介绍")
        .fontColor("#8fbce7")
        .fontSize(20)
        .textOverflow({ overflow: TextOverflow.Ellipsis })//需要配合maxLines使用
        .maxLines(2)
        .lineHeight(30).setCommonStyle()

      Image('https://www.itheima.com/images/logo.png').setCommonStyle()
三.@Builder:抽取结构、样式、事件可以传递参数
@Builder
function  buildSwiper(){
  Stack(){
    Swiper() {
      Image($r("app.media.layered_image")).setImageStyle()
      Image($r("app.media.icon_tip")).setImageStyle()
      Image($r("app.media.ic_back")).setImageStyle()
      Image($r("app.media.foreground")).setImageStyle()
    }
    .width("100%")
    .height(200)
    .indicator(
      Indicator.dot()// 小圆点
        .itemWidth(20)// 默认的宽
        .itemHeight(20)// 默认的高
        .color(Color.Black)// 默认的颜色
        .selectedItemWidth(30)// 选中的宽
        .selectedItemHeight(30)// 选中的高
        .selectedColor(Color.White) // 选中的颜色
    )
    .autoPlay(true)
    .loop(true)
    .interval(3000)
    .vertical(false)

   Text("Builder")
  }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容