尺寸設(shè)置

2024-01-22 12:23 更新

用于設(shè)置組件的寬高、邊距。

說(shuō)明

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

屬性

名稱

參數(shù)說(shuō)明

描述

width

Length

設(shè)置組件自身的寬度,缺省時(shí)使用元素自身內(nèi)容需要的寬度。若子組件的寬大于父組件的寬,則會(huì)畫出父組件的范圍。

單位:vp

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

height

Length

設(shè)置組件自身的高度,缺省時(shí)使用元素自身內(nèi)容需要的高度。若子組件的高大于父組件的高,則會(huì)畫出父組件的范圍。

單位:vp

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

size

{

width?: Length,

height?: Length

}

設(shè)置高寬尺寸。

單位:vp

padding

Padding | Length

設(shè)置內(nèi)邊距屬性。

參數(shù)為L(zhǎng)ength類型時(shí),四個(gè)方向內(nèi)邊距同時(shí)生效。

默認(rèn)值:0

單位:vp

padding設(shè)置百分比時(shí),上下左右內(nèi)邊距均以父容器的width作為基礎(chǔ)值。

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

margin

Margin | Length

設(shè)置外邊距屬性。

參數(shù)為L(zhǎng)ength類型時(shí),四個(gè)方向外邊距同時(shí)生效。

默認(rèn)值:0

單位:vp

margin設(shè)置百分比時(shí),上下左右外邊距均以父容器的width作為基礎(chǔ)值。

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

layoutWeight

number | string

父容器尺寸確定時(shí),設(shè)置了layoutWeight屬性的子元素與兄弟元素占主軸尺寸按照權(quán)重進(jìn)行分配,忽略元素本身尺寸設(shè)置,表示自適應(yīng)占滿剩余空間。

默認(rèn)值:0

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

說(shuō)明:

僅在Row/Column/Flex布局中生效。

可選值為大于等于0的數(shù)字,或者可以轉(zhuǎn)換為數(shù)字的字符串。

constraintSize

{

minWidth?: Length,

maxWidth?: Length,

minHeight?: Length,

maxHeight?: Length

}

設(shè)置約束尺寸,組件布局時(shí),進(jìn)行尺寸范圍限制。constraintSize的優(yōu)先級(jí)高于Width和Height。若設(shè)置的minWidth大于maxWidth,則minWidth生效,minHeight與maxHeight同理。

默認(rèn)值:

{

minWidth: 0,

maxWidth: Infinity,

minHeight: 0,

maxHeight: Infinity

}

示例

  1. // xxx.ets
  2. @Entry
  3. @Component
  4. struct SizeExample {
  5. build() {
  6. Column({ space: 10 }) {
  7. Text('margin and padding:').fontSize(12).fontColor(0xCCCCCC).width('90%')
  8. Row() {
  9. // 寬度80 ,高度80 ,外邊距20(藍(lán)色區(qū)域),上下左右的內(nèi)邊距分別為5、15、10、20(白色區(qū)域)
  10. Row() {
  11. Row().size({ width: '100%', height: '100%' }).backgroundColor(Color.Yellow)
  12. }
  13. .width(80)
  14. .height(80)
  15. .padding({ top: 5, left: 10, bottom: 15, right: 20 })
  16. .margin(20)
  17. .backgroundColor(Color.White)
  18. }.backgroundColor(Color.Blue)
  19. Text('constraintSize').fontSize(12).fontColor(0xCCCCCC).width('90%')
  20. Text('this is a Text.this is a Text.this is a Text.this is a Text.this is a Text.this is a Text.this is a Text.this is a Text.this is a Text.this is a Text.this is a Text.this is a Text.this is a Text.this is a Text.this is a Text')
  21. .width('90%')
  22. .constraintSize({ maxWidth: 200 })
  23. Text('layoutWeight').fontSize(12).fontColor(0xCCCCCC).width('90%')
  24. // 父容器尺寸確定時(shí),設(shè)置了layoutWeight的子元素在主軸布局尺寸按照權(quán)重進(jìn)行分配,忽略本身尺寸設(shè)置。
  25. Row() {
  26. // 權(quán)重1,占主軸剩余空間1/3
  27. Text('layoutWeight(1)')
  28. .size({ width: '30%', height: 110 }).backgroundColor(0xFFEFD5).textAlign(TextAlign.Center)
  29. .layoutWeight(1)
  30. // 權(quán)重2,占主軸剩余空間2/3
  31. Text('layoutWeight(2)')
  32. .size({ width: '30%', height: 110 }).backgroundColor(0xF5DEB3).textAlign(TextAlign.Center)
  33. .layoutWeight(2)
  34. // 未設(shè)置layoutWeight屬性,組件按照自身尺寸渲染
  35. Text('no layoutWeight')
  36. .size({ width: '30%', height: 110 }).backgroundColor(0xD2B48C).textAlign(TextAlign.Center)
  37. }.size({ width: '90%', height: 140 }).backgroundColor(0xAFEEEE)
  38. }.width('100%').margin({ top: 5 })
  39. }
  40. }

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)