直线绘制组件

2024-01-22 18:03 更新

直线绘制组件。

说明

该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

子组件

接口

Line(value?: {width?: string | number, height?: string | number})

从API version 9开始,该接口支持在ArkTS卡片中使用。

参数:

参数名

参数类型

必填

默认值

参数描述

width

string | number

0

宽度。

说明:

异常值按照默认值处理。

height

string | number

0

高度。

说明:

异常值按照默认值处理。

属性

除支持通用属性外,还支持以下属性:

名称

类型

默认值

描述

startPoint

Array<Length>

[0, 0]

直线起点坐标点(相对坐标),单位vp。

从API version 9开始,该接口支持在ArkTS卡片中使用。

说明:

异常值按照默认值处理。

endPoint

Array<Length>

[0, 0]

直线终点坐标点(相对坐标),单位vp。

从API version 9开始,该接口支持在ArkTS卡片中使用。

说明:

异常值按照默认值处理。

fill

ResourceColor

Color.Black

设置填充区域颜色。

从API version 9开始,该接口支持在ArkTS卡片中使用。

说明:

Line组件无法形成闭合区域,该属性设置无效。

fillOpacity

number | string | Resource

1

设置填充区域透明度。

从API version 9开始,该接口支持在ArkTS卡片中使用。

说明:

Line组件无法形成闭合区域,该属性设置无效。

stroke

ResourceColor

-

设置边框颜色,不设置时,默认没有边框线条。

从API version 9开始,该接口支持在ArkTS卡片中使用。

说明:

异常值不会绘制边框线条。

strokeDashArray

Array<Length>

[]

设置线条间隙。

从API version 9开始,该接口支持在ArkTS卡片中使用。

说明:

异常值按照默认值处理。

strokeDashOffset

number | string

0

线条绘制起点的偏移量。

从API version 9开始,该接口支持在ArkTS卡片中使用。

说明:

异常值按照默认值处理。

strokeLineCap

LineCapStyle

LineCapStyle.Butt

设置线条端点绘制样式。

从API version 9开始,该接口支持在ArkTS卡片中使用。

strokeLineJoin

LineJoinStyle

LineJoinStyle.Miter

设置线条拐角绘制样式。

从API version 9开始,该接口支持在ArkTS卡片中使用。

说明:

Line组件无法形成拐角,该属性设置无效。

strokeMiterLimit

number | string

4

设置锐角绘制成斜角的极限值。

从API version 9开始,该接口支持在ArkTS卡片中使用。

说明:

Line组件无法设置锐角图形,该属性设置无效。

strokeOpacity

number | string | Resource

1

设置线条透明度。

从API version 9开始,该接口支持在ArkTS卡片中使用。

说明:

该属性的取值范围是[0.0, 1.0],若给定值小于0.0,则取值为0.0;若给定值大于1.0,则取值为1.0,其余异常值按1.0处理 。

strokeWidth

Length

1

设置线条宽度。

从API version 9开始,该接口支持在ArkTS卡片中使用。

说明:

该属性若为string类型, 暂不支持百分比。

异常值按照默认值处理。

antiAlias

boolean

true

是否开启抗锯齿效果。

从API version 9开始,该接口支持在ArkTS卡片中使用。

示例

示例1

  1. // xxx.ets
  2. @Entry
  3. @Component
  4. struct LineExample {
  5. build() {
  6. Column({ space: 10 }) {
  7. // 线条绘制的起止点坐标均是相对于Line组件本身绘制区域的坐标
  8. Line()
  9. .width(200)
  10. .height(150)
  11. .startPoint([0, 0])
  12. .endPoint([50, 100])
  13. .stroke(Color.Black)
  14. .backgroundColor('#F5F5F5')
  15. Line()
  16. .width(200)
  17. .height(150)
  18. .startPoint([50, 50])
  19. .endPoint([150, 150])
  20. .strokeWidth(5)
  21. .stroke(Color.Orange)
  22. .strokeOpacity(0.5)
  23. .backgroundColor('#F5F5F5')
  24. // strokeDashOffset用于定义关联虚线strokeDashArray数组渲染时的偏移
  25. Line()
  26. .width(200)
  27. .height(150)
  28. .startPoint([0, 0])
  29. .endPoint([100, 100])
  30. .stroke(Color.Black)
  31. .strokeWidth(3)
  32. .strokeDashArray([10, 3])
  33. .strokeDashOffset(5)
  34. .backgroundColor('#F5F5F5')
  35. // 当坐标点设置的值超出Line组件的宽高范围时,线条会画出组件绘制区域
  36. Line()
  37. .width(50)
  38. .height(50)
  39. .startPoint([0, 0])
  40. .endPoint([100, 100])
  41. .stroke(Color.Black)
  42. .strokeWidth(3)
  43. .strokeDashArray([10, 3])
  44. .backgroundColor('#F5F5F5')
  45. }
  46. }
  47. }

示例2

  1. // xxx.ets
  2. @Entry
  3. @Component
  4. struct LineExample1 {
  5. build() {
  6. Row({ space: 10 }) {
  7. // 当LineCapStyle值为Butt时
  8. Line()
  9. .width(100)
  10. .height(200)
  11. .startPoint([50, 50])
  12. .endPoint([50, 200])
  13. .stroke(Color.Black)
  14. .strokeWidth(20)
  15. .strokeLineCap(LineCapStyle.Butt)
  16. .backgroundColor('#F5F5F5').margin(10)
  17. // 当LineCapStyle值为Round时
  18. Line()
  19. .width(100)
  20. .height(200)
  21. .startPoint([50, 50])
  22. .endPoint([50, 200])
  23. .stroke(Color.Black)
  24. .strokeWidth(20)
  25. .strokeLineCap(LineCapStyle.Round)
  26. .backgroundColor('#F5F5F5')
  27. // 当LineCapStyle值为Square时
  28. Line()
  29. .width(100)
  30. .height(200)
  31. .startPoint([50, 50])
  32. .endPoint([50, 200])
  33. .stroke(Color.Black)
  34. .strokeWidth(20)
  35. .strokeLineCap(LineCapStyle.Square)
  36. .backgroundColor('#F5F5F5')
  37. }
  38. }
  39. }

示例3

  1. // xxx.ets
  2. @Entry
  3. @Component
  4. struct LineExample {
  5. build() {
  6. Column() {
  7. Line()
  8. .width(300)
  9. .height(30)
  10. .startPoint([50, 30])
  11. .endPoint([300, 30])
  12. .stroke(Color.Black)
  13. .strokeWidth(10)
  14. // 设置strokeDashArray的数组间隔为 50
  15. Line()
  16. .width(300)
  17. .height(30)
  18. .startPoint([50, 20])
  19. .endPoint([300, 20])
  20. .stroke(Color.Black)
  21. .strokeWidth(10)
  22. .strokeDashArray([50])
  23. // 设置strokeDashArray的数组间隔为 50, 10
  24. Line()
  25. .width(300)
  26. .height(30)
  27. .startPoint([50, 20])
  28. .endPoint([300, 20])
  29. .stroke(Color.Black)
  30. .strokeWidth(10)
  31. .strokeDashArray([50, 10])
  32. // 设置strokeDashArray的数组间隔为 50, 10, 20
  33. Line()
  34. .width(300)
  35. .height(30)
  36. .startPoint([50, 20])
  37. .endPoint([300, 20])
  38. .stroke(Color.Black)
  39. .strokeWidth(10)
  40. .strokeDashArray([50, 10, 20])
  41. // 设置strokeDashArray的数组间隔为 50, 10, 20, 30
  42. Line()
  43. .width(300)
  44. .height(30)
  45. .startPoint([50, 20])
  46. .endPoint([300, 20])
  47. .stroke(Color.Black)
  48. .strokeWidth(10)
  49. .strokeDashArray([50, 10, 20, 30])
  50. }
  51. }
  52. }

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号