YTButton.ets 915 B

12345678910111213141516171819202122232425262728293031323334
  1. @Component
  2. export struct YTButton {
  3. btHeight: number = 37
  4. btWidth: Length = '100%'
  5. btContent: string = ''
  6. btPadding?: Length | Padding
  7. btFontSize: number = 12
  8. bgc: ResourceColor = $r('app.color.main_ac_color_dark')
  9. btFontColor: ResourceColor = Color.White
  10. btBorder?: BorderOptions
  11. btState: boolean = true
  12. btBorderRadius: Length | BorderRadiuses | LocalizedBorderRadiuses = this.btHeight / 2
  13. btlinear?: LinearGradientOptions
  14. click = () => {
  15. }
  16. build() {
  17. Button(this.btContent)
  18. .buttonStyle(ButtonStyleMode.NORMAL)
  19. .fontSize(this.btFontSize)
  20. .fontColor(this.btFontColor)
  21. .backgroundColor(this.bgc)
  22. .height(this.btHeight)
  23. .width(this.btWidth)
  24. .onClick(this.click)
  25. .padding(this.btPadding ?? {})
  26. .border(this.btBorder)
  27. .enabled(this.btState)
  28. .borderRadius(this.btBorderRadius)
  29. .linearGradient(this.btlinear)
  30. }
  31. }