ts-universal-attributes-border-image.md 3.2 KB
Newer Older
X
xiexiyun 已提交
1
# 图片边框设置
2

X
xiexiyun 已提交
3
设置组件图片边框样式。
4

X
xiexiyun 已提交
5 6 7
>  **说明:**
>
> 从API Version 9开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
8 9


T
firstt  
tianyu 已提交
10
## 属性
X
xiexiyun 已提交
11 12


T
firstt  
tianyu 已提交
13 14 15 16 17 18 19 20 21
| 名称 | 参数类型 | 描述 |
| -------- | -------- | -------- |
| source | string \| [Resource](../../ui/ts-types.md#resource类型) \| [linearGradient](ts-universal-attributes-gradient-color.md) | 边框图源或者渐变色设置。 |
| slice | [Length](../../ui/ts-types.md#length)\| EdgeWidth | 设置图片边框切割宽度。<br/>默认值:0 |
| width | [Length](../../ui/ts-types.md#length)\| EdgeWidth | 设置图片边框宽度。<br/>默认值:0 |
| outset | [Length](../../ui/ts-types.md#length)\| EdgeWidth | 设置边框图片向外延伸距离。<br/>默认值:0 |
| RepeatMode  | RepeatMode | 设置边框图片的重复方式。<br/>默认值:RepeatMode.Stretch |
| fill | boolean | 设置边框图片中心填充。<br/>默认值:false |
## EdgeWidth枚举说明  
X
xiexiyun 已提交
22

T
firstt  
tianyu 已提交
23 24 25 26 27 28 29 30 31 32
引用该对象时,至少传入一个参数。



| 名称 | 参数类型 | 必填 |描述 |
| -------- | -------- |-------- |-------- |
| left | [Length](../../ui/ts-types.md#length) | 否 | 左侧距离参数。 |
| right | [Length](../../ui/ts-types.md#length) | 否 | 右侧距离参数。 |
| top | [Length](../../ui/ts-types.md#length) | 否 | 上侧距离参数。 |
| bottom | [Length](../../ui/ts-types.md#length) | 否 | 下侧距离参数。 |
X
xiexiyun 已提交
33

T
firstt  
tianyu 已提交
34
## RepeatMode枚举说明
X
xiexiyun 已提交
35

T
firstt  
tianyu 已提交
36 37 38 39 40 41
| 名称 | 描述 |
| -------- | -------- |
| Repeat | 被切割图片重复铺平在图片边框上,超出的部分会被剪裁。|
| Stretch | 被切割图片以拉伸填充的方式铺满图片边框。 |
| Round | 被切割图片以整数次平铺在图片边框上,无法以整数次平铺时压缩被切割图片。 |
| Space | 被切割图片以整数次平铺在图片边框上,无法以整数次平铺时以空白填充。 |
X
xiexiyun 已提交
42

43

X
xiexiyun 已提交
44 45 46 47 48 49 50
## 示例

```ts
// xxx.ets
@Entry
@Component
struct Index {
51

X
xiexiyun 已提交
52 53 54
  build() {
    Row() {
      Column() {
X
xiexiyun 已提交
55
        Text('This is\nborderImage.').textAlign(TextAlign.Center)
X
xiexiyun 已提交
56 57 58 59 60 61 62 63
          .borderImage({
            source: "borderOrigin.png",
            slice: {top:"31%", bottom:"31%", left:"31%", right:"31%"},
            width: {top:"20px", bottom:"20px", left:"20px", right:"20px"},
            outset: {top:"5px", bottom:"5px", left:"5px", right:"5px"},
            repeat: RepeatMode.Repeat,
            fill: false
          });
X
xiexiyun 已提交
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
      }
      .width('100%')
    }
    .height('100%')
  }
}
```

![zh-cn_image_borderImage](figures/borderImage.png)


```ts
// xxx.ets
@Entry
@Component
struct Index {
80

X
xiexiyun 已提交
81 82 83 84
  build() {
    Row() {
      Column() {
        Text('This is\ngradient color.').textAlign(TextAlign.Center)
X
xiexiyun 已提交
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
          .borderImage({
            source: {angle:90,
              direction: GradientDirection.Left,
              colors: [[0xAEE1E1, 0.0], [0xD3E0DC, 0.3], [0xFCD1D1, 1.0]]},
            slice: {top:10, bottom:10, left:10, right:10},
            width: {top:"10px", bottom:"10px", left: "10px", right:"10px"},
            repeat: RepeatMode.Stretch,
            fill: false
          });
      }
      .width('100%')
    }
    .height('100%')
  }
}
```

X
xiexiyun 已提交
102
![zh-cn_image_borderImageGradient](figures/borderImageGradient.png)