# 边框设置
设置组件边框样式。
> **说明:**
>
> 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
>
## border
border(value: BorderOptions)
设置边框样式。
**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。
**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
**系统能力:** SystemCapability.ArkUI.ArkUI.Full
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | --------------------------------------- | ---- | ------------------------------------------------------------ |
| value | [BorderOptions](#borderoptions对象说明) | 是 | 统一边框样式设置接口。
**说明:**
边框宽度默认值为0,即不显示边框。
从API Version 9开始,父节点的border显示在子节点内容之上。 |
## borderStyle
borderStyle(value: BorderStyle | EdgeStyles)
设置元素的边框线条样式。
**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。
**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
**系统能力:** SystemCapability.ArkUI.ArkUI.Full
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------------------------------------------------------------ | ---- | -------------------------------------------------- |
| value | [BorderStyle](ts-appendix-enums.md#borderstyle) \| [EdgeStyles](#edgestyles9对象说明)9+ | 是 | 设置元素的边框样式。
默认值:BorderStyle.Solid |
## borderWidth
borderWidth(value: Length | EdgeWidths | LocalizedEdgeWidths)
设置边框的宽度。
**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。
**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
**系统能力:** SystemCapability.ArkUI.ArkUI.Full
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------------------------------------------------------------ | ---- | ---------------------------------- |
| value | [Length](ts-types.md#length) \| [EdgeWidths](#edgewidths9对象说明)9+ \| [LocalizedEdgeWidths](#localizededgewidths12对象说明)12+ | 是 | 设置元素的边框宽度,不支持百分比。 |
## borderColor
borderColor(value: ResourceColor | EdgeColors | LocalizedEdgeColors)
设置边框的颜色。
**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。
**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
**系统能力:** SystemCapability.ArkUI.ArkUI.Full
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------------------------------------------------------------ | ---- | -------------------------------------------- |
| value | [ResourceColor](ts-types.md#resourcecolor) \| [EdgeColors](#edgecolors9对象说明)9+ \| [LocalizedEdgeColors](#localizededgecolors12对象说明)12+ | 是 | 设置元素的边框颜色。
默认值:Color.Black |
## borderRadius
borderRadius(value: Length | BorderRadiuses | LocalizedBorderRadiuses)
设置边框的圆角。圆角大小受组件尺寸限制,最大值为组件宽或高的一半。
**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。
**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
**系统能力:** SystemCapability.ArkUI.ArkUI.Full
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------------------------------------------------------------ | ---- | -------------------------------------- |
| value | [Length](ts-types.md#length) \| [BorderRadiuses](#borderradiuses9对象说明)9+ \| [LocalizedBorderRadiuses](#localizedborderradiuses12对象说明)12+ | 是 | 设置元素的边框圆角半径,支持百分比,百分比依据组件宽度。设置圆角后,可搭配[.clip属性](./ts-universal-attributes-sharp-clipping.md#clip12)进行裁剪,避免子组件超出组件自身。|
## BorderOptions对象说明
**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。
**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
| 名称 | 参数类型 | 必填 | 描述 |
| ------ | ------------------------------------------------------------ | ---- | ------------------ |
| width | [Length](ts-types.md#length) \| [EdgeWidths](#edgewidths9对象说明)9+ \| [LocalizedEdgeWidths](#localizededgewidths12对象说明)12+ | 否 | 设置边框宽度。 |
| color | [ResourceColor](ts-types.md#resourcecolor) \| [EdgeColors](#edgecolors9对象说明)9+ \| [LocalizedEdgeColors](#localizededgecolors12对象说明)12+ | 否 | 设置边框颜色。 |
| radius | [Length](ts-types.md#length) \| [BorderRadiuses](#borderradiuses9对象说明)9+ \| [LocalizedBorderRadiuses](#localizedborderradiuses12对象说明)12+ | 否 | 设置边框圆角半径。 |
| style | [BorderStyle](ts-appendix-enums.md#borderstyle) \| [EdgeStyles](#edgestyles9对象说明)9+ | 否 | 设置边框样式。 |
| dashGap12+ | [LengthMetrics](../js-apis-arkui-graphics.md#lengthmetrics12) \| [EdgeWidths](#edgewidths9对象说明) \| [LocalizedEdgeWidths](#localizededgewidths12对象说明) | 否 | 设置虚线的线段间距,仅在边框样式为虚线时生效。
不支持设置百分比。 |
| dashWidth12+ | [LengthMetrics](../js-apis-arkui-graphics.md#lengthmetrics12) \| [EdgeWidths](#edgewidths9对象说明) \| [LocalizedEdgeWidths](#localizededgewidths12对象说明) | 否 | 设置虚线的线段长度,仅在边框样式为虚线时生效。
不支持设置百分比。 |
## EdgeWidths9+对象说明
引入该对象时,至少传入一个参数。
**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。
**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
| 名称 | 参数类型 | 必填 | 描述 |
| ------ | ---------------------------- | ---- | ------- |
| left | [Length](ts-types.md#length) | 否 | 左侧边框宽度。 |
| right | [Length](ts-types.md#length) | 否 | 右侧边框宽度。 |
| top | [Length](ts-types.md#length) | 否 | 上侧边框宽度。 |
| bottom | [Length](ts-types.md#length) | 否 | 下侧边框宽度。 |
## LocalizedEdgeWidths12+对象说明
边框宽度类型,用于描述组件边框不同方向的宽度。
引入该对象时,至少传入一个参数。
**卡片能力:** 从API version 12开始,该接口支持在ArkTS卡片中使用。
| 名称 | 参数类型 | 必填 | 描述 |
| ------ | ---------------------------- | ---- | ------- |
| start | [LengthMetrics](../js-apis-arkui-graphics.md#lengthmetrics12) | 否 | 左侧边框宽度。
从右至左显示语言模式下为右侧边框宽度。 |
| end | [LengthMetrics](../js-apis-arkui-graphics.md#lengthmetrics12) | 否 | 右侧边框宽度。
从右至左显示语言模式下为左侧边框宽度。 |
| top | [LengthMetrics](../js-apis-arkui-graphics.md#lengthmetrics12) | 否 | 上侧边框宽度。 |
| bottom | [LengthMetrics](../js-apis-arkui-graphics.md#lengthmetrics12) | 否 | 下侧边框宽度。 |
## EdgeColors9+对象说明
引入该对象时,至少传入一个参数。
**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。
**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
| 名称 | 参数类型 | 必填 | 描述 |
| ------ | ---------------------------------------- | ---- | ------- |
| left | [ResourceColor](ts-types.md#resourcecolor) | 否 | 左侧边框颜色。 |
| right | [ResourceColor](ts-types.md#resourcecolor) | 否 | 右侧边框颜色。 |
| top | [ResourceColor](ts-types.md#resourcecolor) | 否 | 上侧边框颜色。 |
| bottom | [ResourceColor](ts-types.md#resourcecolor) | 否 | 下侧边框颜色。 |
## LocalizedEdgeColors12+对象说明
边框颜色,用于描述组件边框四条边的颜色。
引入该对象时,至少传入一个参数。
**卡片能力:** 从API version 12开始,该接口支持在ArkTS卡片中使用。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
| 名称 | 参数类型 | 必填 | 描述 |
| ------ | ---------------------------------------- | ---- | ------- |
| start | [ResourceColor](ts-types.md#resourcecolor) | 否 | 左侧边框颜色。
从右至左显示语言模式下为右侧边框颜色。 |
| end | [ResourceColor](ts-types.md#resourcecolor) | 否 | 右侧边框颜色。
从右至左显示语言模式下为左侧边框颜色。 |
| top | [ResourceColor](ts-types.md#resourcecolor) | 否 | 上侧边框颜色。 |
| bottom | [ResourceColor](ts-types.md#resourcecolor) | 否 | 下侧边框颜色。 |
## BorderRadiuses9+对象说明
引用该对象时,至少传入一个参数。
**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。
**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
| 名称 | 参数类型 | 必填 | 描述 |
| ----------- | ---------------------------- | ---- | -------- |
| topLeft | [Length](ts-types.md#length) | 否 | 左上角圆角半径。 |
| topRight | [Length](ts-types.md#length) | 否 | 右上角圆角半径。 |
| bottomLeft | [Length](ts-types.md#length) | 否 | 左下角圆角半径。 |
| bottomRight | [Length](ts-types.md#length) | 否 | 右下角圆角半径。 |
## LocalizedBorderRadiuses12+对象说明
圆角类型,用于描述组件边框圆角半径。
引用该对象时,至少传入一个参数。
**卡片能力:** 从API version 12开始,该接口支持在ArkTS卡片中使用。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
| 名称 | 参数类型 | 必填 | 描述 |
| ----------- | ---------------------------- | ---- | -------- |
| topStart | [LengthMetrics](../js-apis-arkui-graphics.md#lengthmetrics12)12+ | 否 | 左上角圆角半径。
从右至左显示语言模式下为右上角圆角半径。 |
| topEnd | [LengthMetrics](../js-apis-arkui-graphics.md#lengthmetrics12)12+ | 否 | 右上角圆角半径。
从右至左显示语言模式下为左上角圆角半径。 |
| bottomStart | [LengthMetrics](../js-apis-arkui-graphics.md#lengthmetrics12)12+ | 否 | 左下角圆角半径。
从右至左显示语言模式下为右下角圆角半径。 |
| bottomEnd | [LengthMetrics](../js-apis-arkui-graphics.md#lengthmetrics12)12+ | 否 | 右下角圆角半径。
从右至左显示语言模式下为左下角圆角半径。 |
## EdgeStyles9+对象说明
引入该对象时,至少传入一个参数。
**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。
**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
| 名称 | 参数类型 | 必填 | 描述 |
| ------ | ---------------------------------------- | ---- | ------- |
| left | [BorderStyle](ts-appendix-enums.md#borderstyle) | 否 | 左侧边框样式。 |
| right | [BorderStyle](ts-appendix-enums.md#borderstyle) | 否 | 右侧边框样式。 |
| top | [BorderStyle](ts-appendix-enums.md#borderstyle) | 否 | 上侧边框样式。 |
| bottom | [BorderStyle](ts-appendix-enums.md#borderstyle) | 否 | 下侧边框样式。 |
## 示例
### 示例1(基本样式用法)
设置边框的宽度、颜色、边框圆角半径以及点、线样式。
```ts
// xxx.ets
@Entry
@Component
struct BorderExample {
build() {
Column() {
Flex({ justifyContent: FlexAlign.SpaceAround, alignItems: ItemAlign.Center }) {
// 线段
Text('dashed')
.borderStyle(BorderStyle.Dashed).borderWidth(5).borderColor(0xAFEEEE).borderRadius(10)
.width(120).height(120).textAlign(TextAlign.Center).fontSize(16)
// 点线
Text('dotted')
.border({ width: 5, color: 0x317AF7, radius: 10, style: BorderStyle.Dotted })
.width(120).height(120).textAlign(TextAlign.Center).fontSize(16)
}.width('100%').height(150)
Text('.border')
.fontSize(50)
.width(300)
.height(300)
.border({
width: { left: 3, right: 6, top: 10, bottom: 15 },
color: { left: '#e3bbbb', right: Color.Blue, top: Color.Red, bottom: Color.Green },
radius: { topLeft: 10, topRight: 20, bottomLeft: 40, bottomRight: 80 },
style: {
left: BorderStyle.Dotted,
right: BorderStyle.Dotted,
top: BorderStyle.Solid,
bottom: BorderStyle.Dashed
}
}).textAlign(TextAlign.Center)
}
}
}
```

### 示例2(边框宽度类型和边框颜色)
border属性的width、radius、color属性值使用LocalizedEdgeWidths类型和LocalizedEdgeColors类型。
```ts
// xxx.ets
import { LengthMetrics } from '@kit.ArkUI';
@Entry
@Component
struct BorderExample {
build() {
Column() {
Flex({ justifyContent: FlexAlign.SpaceAround, alignItems: ItemAlign.Center }) {
// 线段
Text('dashed')
.borderStyle(BorderStyle.Dashed)
.borderWidth(5)
.borderColor(0xAFEEEE)
.borderRadius(10)
.width(120)
.height(120)
.textAlign(TextAlign.Center)
.fontSize(16)
// 点线
Text('dotted')
.border({ width: 5, color: 0x317AF7, radius: 10, style: BorderStyle.Dotted })
.width(120)
.height(120)
.textAlign(TextAlign.Center)
.fontSize(16)
}.width('100%').height(150)
Text('.border')
.fontSize(50)
.width(300)
.height(300)
.border({
width: {
start: LengthMetrics.vp(3),
end: LengthMetrics.vp(6),
top: LengthMetrics.vp(10),
bottom: LengthMetrics.vp(15)
},
color: { start: '#e3bbbb', end: Color.Blue, top: Color.Red, bottom: Color.Green },
radius: {
topStart: LengthMetrics.vp(10),
topEnd: LengthMetrics.vp(20),
bottomStart: LengthMetrics.vp(40),
bottomEnd: LengthMetrics.vp(80)
},
style: {
left: BorderStyle.Dotted,
right: BorderStyle.Dotted,
top: BorderStyle.Solid,
bottom: BorderStyle.Dashed
}
})
.textAlign(TextAlign.Center)
}
}
}
```
从左至右显示语言示例图

从右至左显示语言示例图
