直線繪制組件

2024-01-22 18:03 更新

直線繪制組件。

說明

該組件從API Version 7開始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標單獨標記該內(nèi)容的起始版本。

子組件

接口

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

從API version 9開始,該接口支持在ArkTS卡片中使用。

參數(shù):

參數(shù)名

參數(shù)類型

必填

默認值

參數(shù)描述

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

設(shè)置填充區(qū)域顏色。

從API version 9開始,該接口支持在ArkTS卡片中使用。

說明:

Line組件無法形成閉合區(qū)域,該屬性設(shè)置無效。

fillOpacity

number | string | Resource

1

設(shè)置填充區(qū)域透明度。

從API version 9開始,該接口支持在ArkTS卡片中使用。

說明:

Line組件無法形成閉合區(qū)域,該屬性設(shè)置無效。

stroke

ResourceColor

-

設(shè)置邊框顏色,不設(shè)置時,默認沒有邊框線條。

從API version 9開始,該接口支持在ArkTS卡片中使用。

說明:

異常值不會繪制邊框線條。

strokeDashArray

Array<Length>

[]

設(shè)置線條間隙。

從API version 9開始,該接口支持在ArkTS卡片中使用。

說明:

異常值按照默認值處理。

strokeDashOffset

number | string

0

線條繪制起點的偏移量。

從API version 9開始,該接口支持在ArkTS卡片中使用。

說明:

異常值按照默認值處理。

strokeLineCap

LineCapStyle

LineCapStyle.Butt

設(shè)置線條端點繪制樣式。

從API version 9開始,該接口支持在ArkTS卡片中使用。

strokeLineJoin

LineJoinStyle

LineJoinStyle.Miter

設(shè)置線條拐角繪制樣式。

從API version 9開始,該接口支持在ArkTS卡片中使用。

說明:

Line組件無法形成拐角,該屬性設(shè)置無效。

strokeMiterLimit

number | string

4

設(shè)置銳角繪制成斜角的極限值。

從API version 9開始,該接口支持在ArkTS卡片中使用。

說明:

Line組件無法設(shè)置銳角圖形,該屬性設(shè)置無效。

strokeOpacity

number | string | Resource

1

設(shè)置線條透明度。

從API version 9開始,該接口支持在ArkTS卡片中使用。

說明:

該屬性的取值范圍是[0.0, 1.0],若給定值小于0.0,則取值為0.0;若給定值大于1.0,則取值為1.0,其余異常值按1.0處理 。

strokeWidth

Length

1

設(shè)置線條寬度。

從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組件本身繪制區(qū)域的坐標
  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用于定義關(guān)聯(lián)虛線strokeDashArray數(shù)組渲染時的偏移
  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. // 當坐標點設(shè)置的值超出Line組件的寬高范圍時,線條會畫出組件繪制區(qū)域
  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. // 設(shè)置strokeDashArray的數(shù)組間隔為 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. // 設(shè)置strokeDashArray的數(shù)組間隔為 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. // 設(shè)置strokeDashArray的數(shù)組間隔為 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. // 設(shè)置strokeDashArray的數(shù)組間隔為 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. }

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號