当前位置:   article > 正文

鸿蒙ArkTS声明式开发:跨平台支持列表【图片边框设置】 通用属性_鸿蒙 edgewidths

鸿蒙 edgewidths

图片边框设置

设置容器组件的图片边框样式。

说明:
开发前请熟悉鸿蒙开发指导文档gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。
从API Version 9开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

属性

名称参数类型描述
borderImage[BorderImageOption]图片边框或者渐变色边框设置接口。 该接口支持在ArkTS卡片中使用。

BorderImageOption对象说明

该接口支持在ArkTS卡片中使用。

名称类型描述
sourcestring[Resource][linearGradient]边框图源或者渐变色设置。 说明: 边框图源仅适用于容器组件,如Row、Column、Flex,在非容器组件上使用会失效。
slice[Length][EdgeWidths]设置边框图片左上角、右上角、左下角以及右下角的切割宽度。 默认值:0 说明: 设置负数时取默认值。 参数类型为[Length]时,统一设置四个角的宽高。 参数类型为[EdgeWidths]时: - Top:设置图片左上角或者右上角被切割的高。 - Bottom:设置图片左下角或者右下角被切割的高。 - Left:设置图片左上角或者左下角被切割的宽。 - Right:设置图片右上角或者右下角被切割的宽。
width[Length][EdgeWidths]设置图片边框宽度。 默认值:0 说明: 参数类型为[Length]时,统一设置四个角的宽高,设置负数时取默认值。 参数类型为[EdgeWidths]时: - Top:设置图片边框上边框的宽。 - Bottom:设置图片边框下边框的宽。 - Left:设置图片边框左边框的宽。 - Right:设置图片边框右边框宽。 设置负数时值取1。
outset[Length][EdgeWidths]设置边框图片向外延伸距离。 默认值:0 说明: 设置负数时取默认值。 参数类型为[Length]时,统一设置四个角的宽高。 参数类型为[EdgeWidths]时: - Top:设置边框图片上边框向外延伸的距离。 - Bottom:设置边框图片下边框向外延伸的距离。 - Left:设置边框图片左边框向外延伸的距离。 - Right:设置边框图片右边框向外延伸的距离。
repeat[RepeatMode]设置被切割的图片在边框上的重复方式。 默认值:RepeatMode.Stretch
fillboolean设置边框图片中心填充。 默认值:false

RepeatMode枚举说明

该接口支持在ArkTS卡片中使用。

名称描述
Repeat被切割图片重复铺平在图片边框上,超出的部分会被剪裁。
Stretch被切割图片以拉伸填充的方式铺满图片边框。
Round被切割图片以整数次平铺在图片边框上,无法以整数次平铺时压缩被切割图片。
Space被切割图片以整数次平铺在图片边框上,无法以整数次平铺时以空白填充。

示例

示例1

  1. // xxx.ets
  2. @Entry
  3. @Component
  4. struct Index {
  5. build() {
  6. Row() {
  7. Column() {
  8. Text('This is gradient color.').textAlign(TextAlign.Center).height(50).width(200)
  9. .borderImage({
  10. source: {
  11. angle: 90,
  12. direction: GradientDirection.Left,
  13. colors: [[0xAEE1E1, 0.0], [0xD3E0DC, 0.3], [0xFCD1D1, 1.0]]
  14. },
  15. slice: { top: 10, bottom: 10, left: 10, right: 10 },
  16. width: { top: "10px", bottom: "10px", left: "10px", right: "10px" },
  17. repeat: RepeatMode.Stretch,
  18. fill: false
  19. })
  20. }
  21. .width('100%')
  22. }
  23. .height('100%')
  24. }
  25. }

zh-cn_image_borderImageGradient

示例2

鸿蒙文档.png

 
  1. // xxx.ets
  2. @Entry
  3. @Component
  4. struct BorderImage {
  5. @State WidthValue: number = 0
  6. @State SliceValue: number = 0
  7. @State OutSetValue: number = 0
  8. @State RepeatValue: RepeatMode[] = [RepeatMode.Repeat, RepeatMode.Stretch, RepeatMode.Round, RepeatMode.Space]
  9. @State SelectIndex: number = 0
  10. @State SelectText: string = 'Repeat'
  11. @State FillValue: boolean = false
  12. build() {
  13. Row() {
  14. Column({ space: 20 }) {
  15. Row() {
  16. Text('This is borderImage.').textAlign(TextAlign.Center).fontSize(50)
  17. }
  18. .borderImage({
  19. source: $r('app.media.icon'),
  20. slice: this.SliceValue,
  21. width: this.WidthValue,
  22. outset: this.OutSetValue,
  23. repeat: this.RepeatValue[this.SelectIndex],
  24. fill: this.FillValue
  25. })
  26. Column() {
  27. Text(`borderImageSlice = ${this.SliceValue}px`)
  28. Slider({
  29. value: this.SliceValue,
  30. min: 0,
  31. max: 100,
  32. style: SliderStyle.OutSet
  33. })
  34. .onChange((value: number, mode: SliderChangeMode) => {
  35. this.SliceValue = value
  36. })
  37. }
  38. Column() {
  39. Text(`borderImageWidth = ${this.WidthValue}px`)
  40. Slider({
  41. value: this.WidthValue,
  42. min: 0,
  43. max: 100,
  44. style: SliderStyle.OutSet
  45. })
  46. .onChange((value: number, mode: SliderChangeMode) => {
  47. this.WidthValue = value
  48. })
  49. }
  50. Column() {
  51. Text(`borderImageOutSet = ${this.OutSetValue}px`)
  52. Slider({
  53. value: this.OutSetValue,
  54. min: 0,
  55. max: 100,
  56. style: SliderStyle.OutSet
  57. })
  58. .onChange((value: number, mode: SliderChangeMode) => {
  59. this.OutSetValue = value
  60. })
  61. }
  62. Row() {
  63. Text('borderImageRepeat: ')
  64. Select([{ value: 'Repeat' }, { value: 'Stretch' }, { value: 'Round' }, { value: 'Space' }])
  65. .value(this.SelectText)
  66. .selected(this.SelectIndex)
  67. .onSelect((index: number, value?: string) => {
  68. this.SelectIndex = index
  69. this.SelectText = value as string
  70. })
  71. }
  72. Row() {
  73. Text(`borderImageFill: ${this.FillValue} `)
  74. Toggle({ type: ToggleType.Switch, isOn: this.FillValue })
  75. .onChange((isOn: boolean) => {
  76. this.FillValue = isOn
  77. })
  78. }
  79. }
  80. .width('100%')
  81. }
  82. .height('100%')
  83. }
  84. }

borderImage

到这里我们就基本上学完了这个知识点,当然如果说要真正参与到鸿蒙的开发当中,要学的还有很多。大家可以看看下面这个鸿蒙入门到实战的学习技术路线图:

 而随着鸿蒙的火热,现阶段已有许多Android、前端等开发者看中其未来趋势;想从网上查阅学习,但搜索到的鸿蒙资料都是七零八碎的,对此为了避免大家在学习过程中浪费过多时间,特地根据鸿蒙官方发布文档结合华为内部人员的分享,经过反复修改整理得出:

整套鸿蒙(HarmonyOS NEXT)学习手册(共计1236页)与鸿蒙(HarmonyOS NEXT开发入门&实战教学视频(200集+)发放给大家。

内容包含了:(ArkTS、ArkUI、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、鸿蒙南向开发、鸿蒙项目实战)等技术知识点。帮助大家在学习鸿蒙路上少走弯路!下面点击↓↓↓拿

废话不多说,接下来好好看下这份资料。

《鸿蒙 (HarmonyOS NEXT)开发基础到实战手册》

OpenHarmony北向、南向开发环境搭建

鸿蒙开发基础》

  1. ArkTS语言

  2. 安装DevEco Studio

  3. 运用你的第一个ArkTS应用

  4. ArkUI声明式UI开发

  5. .……

《鸿蒙开发进阶》

  1. Stage模型入门

  2. 网络管理

  3. 数据管理

  4. 电话服务

  5. 分布式应用开发

  6. 通知与窗口管理

  7. 多媒体技术

  8. 安全技能

  9. 任务管理

  10. WebGL

  11. 国际化开发

  12. 应用测试

  13. DFX面向未来设计

  14. 鸿蒙系统移植和裁剪定制

  15. ……

《鸿蒙开发实战》

  1. ArkTS实践

  2. UIAbility应用

  3. 网络案例

  4. ……

《鸿蒙 (HarmonyOS NEXT)开发入门&实战教学视频》  

↑↑↑点击即可

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/832439
推荐阅读
相关标签
  

闽ICP备14008679号