Flex布局
說(shuō)明:
開(kāi)發(fā)前請(qǐng)熟悉鴻蒙開(kāi)發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]
- 從API Version 7開(kāi)始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標(biāo)單獨(dú)標(biāo)記該內(nèi)容的起始版本。
- 僅當(dāng)父組件是 Flex、Column、Row 、GridRow時(shí)生效。
屬性
| 名稱 | 參數(shù)說(shuō)明 | 描述 |
|---|---|---|
| flexBasis | number | string |
| flexGrow | number | 設(shè)置父容器的剩余空間分配給此屬性所在組件的比例。 默認(rèn)值:0 從API version 9開(kāi)始,該接口支持在ArkTS卡片中使用。 |
| flexShrink | number | 設(shè)置父容器壓縮尺寸分配給此屬性所在組件的比例。 父容器為Row、Column時(shí),默認(rèn)值:0 父容器為Flex時(shí),默認(rèn)值:1 從API version 9開(kāi)始,該接口支持在ArkTS卡片中使用。 |
| alignSelf | [ItemAlign] | 子組件在父容器交叉軸的對(duì)齊格式,會(huì)覆蓋Flex、Column、Row、GridRow布局容器中的alignItems設(shè)置。 GridCol可以綁定alignsSelf屬性來(lái)改變它自身在交叉軸方向上的布局。 默認(rèn)值:ItemAlign.Auto 從API version 9開(kāi)始,該接口支持在ArkTS卡片中使用。 |
| layoutWeight | number | string |

示例
// xxx.ets
@Entry
@Component
struct FlexExample {
build() {
Column({ space: 5 }) {
Text('flexBasis').fontSize(9).fontColor(0xCCCCCC).width('90%')
// 基于主軸的基準(zhǔn)尺寸
// flexBasis()值可以是字符串'auto',表示基準(zhǔn)尺寸是元素本來(lái)的大小,也可以是長(zhǎng)度設(shè)置,相當(dāng)于.width()/.height()
Flex() {
Text('flexBasis(100)')
.flexBasis(100) // 這里表示寬度為100vp
.height(100)
.backgroundColor(0xF5DEB3)
.textAlign(TextAlign.Center)
Text(`flexBasis('auto')`)
.flexBasis('auto') // 這里表示寬度保持原本設(shè)置的60%的寬度
.width('60%')
.height(100)
.backgroundColor(0xD2B48C)
.textAlign(TextAlign.Center)
}.width('90%').height(120).padding(10).backgroundColor(0xAFEEEE)
Text('flexGrow').fontSize(9).fontColor(0xCCCCCC).width('90%')
// flexGrow()表示剩余空間分配給該元素的比例
Flex() {
Text('flexGrow(2)')
.flexGrow(2) // 父容器分配給該Text的寬度為剩余寬度的2/3
.height(100)
.backgroundColor(0xF5DEB3)
.textAlign(TextAlign.Center)
Text('flexGrow(1)')
.flexGrow(1) // 父容器分配給該Text的寬度為剩余寬度的1/3
.height(100)
.backgroundColor(0xD2B48C)
.textAlign(TextAlign.Center)
}.width('90%').height(120).padding(10).backgroundColor(0xAFEEEE)
Text('flexShrink').fontSize(9).fontColor(0xCCCCCC).width('90%')
// flexShrink()表示該元素的壓縮比例,基于超出的總尺寸進(jìn)行計(jì)算
// 第一個(gè)text壓縮比例是0,另外兩個(gè)都是1,因此放不下時(shí)等比例壓縮后兩個(gè),第一個(gè)不壓縮
Flex({ direction: FlexDirection.Row }) {
Text('flexShrink(0)')
.flexShrink(0)
.width('50%')
.height(100)
.backgroundColor(0xF5DEB3)
.textAlign(TextAlign.Center)
Text('default flexShrink') // 默認(rèn)值為1
.width('40%')
.height(100)
.backgroundColor(0xD2B48C)
.textAlign(TextAlign.Center)
Text('flexShrink(1)')
.flexShrink(1)
.width('40%')
.height(100)
.backgroundColor(0xF5DEB3)
.textAlign(TextAlign.Center)
}.width('90%').height(120).padding(10).backgroundColor(0xAFEEEE)
Text('alignSelf').fontSize(9).fontColor(0xCCCCCC).width('90%')
// alignSelf會(huì)覆蓋Flex布局容器中的alignItems設(shè)置
Flex({ direction: FlexDirection.Row, alignItems: ItemAlign.Center }) {
Text('no alignSelf,height:70')
.width('33%')
.height(70)
.backgroundColor(0xF5DEB3)
.textAlign(TextAlign.Center)
Text('alignSelf End')
.alignSelf(ItemAlign.End)
.width('33%')
.height(70)
.backgroundColor(0xD2B48C)
.textAlign(TextAlign.Center)
Text('no alignSelf,height:100%')
.width('34%')
.height('100%')
.backgroundColor(0xF5DEB3)
.textAlign(TextAlign.Center)
}.width('90%').height(120).padding(10).backgroundColor(0xAFEEEE)
}.width('100%').margin({ top: 5 })
}
}

審核編輯 黃宇
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
FLEX
+關(guān)注
關(guān)注
0文章
51瀏覽量
16131 -
跨平臺(tái)
+關(guān)注
關(guān)注
0文章
4瀏覽量
6888 -
鴻蒙
+關(guān)注
關(guān)注
60文章
2963瀏覽量
45908
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
HarmonyOS/OpenHarmony應(yīng)用開(kāi)發(fā)-ArkTS的聲明式開(kāi)發(fā)范式
基于ArkTS的聲明式開(kāi)發(fā)范式的方舟開(kāi)發(fā)框架是一套開(kāi)發(fā)極簡(jiǎn)、高性能、
發(fā)表于 01-17 15:09
鴻蒙ArkTS聲明式開(kāi)發(fā):跨平臺(tái)支持列表【按鍵事件】
按鍵事件指組件與鍵盤、遙控器等按鍵設(shè)備交互時(shí)觸發(fā)的事件,適用于所有可獲焦組件,例如Button。對(duì)于Text,Image等默認(rèn)不可獲焦的組件,可以設(shè)置focusable屬性為true后使用按鍵事件。
鴻蒙ArkTS聲明式開(kāi)發(fā):跨平臺(tái)支持列表【邊框設(shè)置】 通用屬性
從API Version 7開(kāi)始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標(biāo)單獨(dú)標(biāo)記該內(nèi)容的起始版本。
鴻蒙ArkTS聲明式開(kāi)發(fā):跨平臺(tái)支持列表【背景設(shè)置】 通用屬性
從API Version 7開(kāi)始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標(biāo)單獨(dú)標(biāo)記該內(nèi)容的起始版本。
鴻蒙ArkTS聲明式開(kāi)發(fā):跨平臺(tái)支持列表【顯隱控制】 通用屬性
控制當(dāng)前組件顯示或隱藏。注意,即使組件處于隱藏狀態(tài),在頁(yè)面刷新時(shí)仍存在重新創(chuàng)建過(guò)程,因此當(dāng)對(duì)性能有嚴(yán)格要求時(shí)建議使用[條件渲染]代替。 默認(rèn)值:Visibility.Visible 從API version 9開(kāi)始,該接口支持在ArkTS卡片中使用。
鴻蒙ArkTS聲明式開(kāi)發(fā):跨平臺(tái)支持列表【形狀裁剪】 通用屬性
參數(shù)為相應(yīng)類型的組件,按指定的形狀對(duì)當(dāng)前組件進(jìn)行裁剪;參數(shù)為boolean類型時(shí),設(shè)置是否按照父容器邊緣輪廓進(jìn)行裁剪。 默認(rèn)值:false 從API version 9開(kāi)始,該接口支持在ArkTS卡片中使用。
鴻蒙ArkTS聲明式開(kāi)發(fā):跨平臺(tái)支持列表【柵格設(shè)置】 通用屬性
默認(rèn)占用列數(shù),指useSizeType屬性沒(méi)有設(shè)置對(duì)應(yīng)尺寸的列數(shù)(span)時(shí),占用的柵格列數(shù)。
鴻蒙ArkTS聲明式開(kāi)發(fā):跨平臺(tái)支持列表【菜單控制】 通用屬性
為組件綁定彈出式菜單,彈出式菜單以垂直列表形式顯示菜單項(xiàng),可通過(guò)長(zhǎng)按、點(diǎn)擊或鼠標(biāo)右鍵觸發(fā)。
鴻蒙ArkTS聲明式開(kāi)發(fā):跨平臺(tái)支持列表【組件標(biāo)識(shí)】 通用屬性
id為組件的唯一標(biāo)識(shí),在整個(gè)應(yīng)用內(nèi)唯一。本模塊提供組件標(biāo)識(shí)相關(guān)接口,可以獲取指定id組件的屬性,也提供向指定id組件發(fā)送事件的功能。
鴻蒙ArkTS聲明式開(kāi)發(fā):跨平臺(tái)支持列表【多態(tài)樣式】 通用屬性
設(shè)置組件不同狀態(tài)的樣式。 從API version 9開(kāi)始,該接口支持在ArkTS卡片中使用。
鴻蒙ArkTS聲明式開(kāi)發(fā):跨平臺(tái)支持列表【分布式遷移標(biāo)識(shí)】 通用屬性
組件的分布式遷移標(biāo)識(shí),指明了該組件在分布式遷移場(chǎng)景下可以將特定狀態(tài)恢復(fù)到對(duì)端設(shè)備。
鴻蒙ArkTS聲明式開(kāi)發(fā):跨平臺(tái)支持列表【無(wú)障礙屬性】 通用屬性
組件可以設(shè)置相應(yīng)的無(wú)障礙屬性和事件來(lái)更好地使用無(wú)障礙能力。
鴻蒙ArkTS聲明式開(kāi)發(fā):跨平臺(tái)支持列表【Flex布局】 通用屬性
評(píng)論