0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙ArkTS容器組件:GridCol

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-07-08 15:17 ? 次閱讀

GridCol

柵格子組件,必須作為柵格容器組件([GridRow])的子組件使用。

說明:
開發(fā)前請熟悉鴻蒙開發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]
該組件從API Version 9開始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標(biāo)單獨(dú)標(biāo)記該內(nèi)容的起始版本。

子組件

可以包含單個(gè)子組件。

接口

GridCol(option?:{span?: number | GridColColumnOption, offset?: number | GridColColumnOption, order?: number | GridColColumnOption})

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

參數(shù)

參數(shù)名類型必填說明
spannumber[GridColColumnOption]
offsetnumber[GridColColumnOption]
ordernumber[GridColColumnOption]

說明:

spanoffset、order屬性按照xssm、mdlg、xlxxl的順序具有“繼承性”,未設(shè)置值的斷點(diǎn)將會(huì)從前一個(gè)斷點(diǎn)取值。

在不同寬度設(shè)備類型上的默認(rèn)值為:

參數(shù)斷點(diǎn)xssmmdlgxlxxl
span223344
offset223555
order202020333

屬性

參數(shù)名類型必填說明
spannumberGridColColumnOption
gridColOffsetnumberGridColColumnOption
ordernumberGridColColumnOption

GridColColumnOption

用于自定義指定在不同寬度設(shè)備類型上,柵格子組件占據(jù)的柵格數(shù)量單位。

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

參數(shù)名參數(shù)類型必填參數(shù)描述
xsnumber在最小寬度類型設(shè)備上,柵格子組件占據(jù)的柵格數(shù)量單位。
smnumber在小寬度類型設(shè)備上,柵格子組件占據(jù)的柵格數(shù)量單位。
mdnumber在中等寬度類型設(shè)備上,柵格子組件占據(jù)的柵格數(shù)量單位。
lgnumber在大寬度類型設(shè)備上,柵格子組件占據(jù)的柵格數(shù)量單位。
xlnumber在特大寬度類型設(shè)備上,柵格子組件占據(jù)的柵格數(shù)量單位。
xxlnumber在超大寬度類型設(shè)備上,柵格子組件占據(jù)的柵格數(shù)量單位。

示例

GridRow

柵格布局可以為布局提供規(guī)律性的結(jié)構(gòu),解決多尺寸多設(shè)備的動(dòng)態(tài)布局問題,保證不同設(shè)備上各個(gè)模塊的布局一致性。

柵格容器組件,僅可以和柵格子組件([GridCol])在柵格布局場景中使用。

說明:

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

子組件

可以包含GridCol子組件。

接口

GridRow(option?: {columns?: number | GridRowColumnOption, gutter?: Length | GutterOption, breakpoints?: BreakPoints, direction?: GridRowDirection})

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

參數(shù):

參數(shù)名類型必填說明
gutterLengthGutterOption
columnsnumberGridRowColumnOption
eakpointsBreakPoints設(shè)置斷點(diǎn)值的斷點(diǎn)數(shù)列以及基于窗口或容器尺寸的相應(yīng)參照。
directionGridRowDirection柵格布局排列方向。

GutterOption

柵格布局間距類型,用于描述柵格子組件不同方向的間距。

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

參數(shù)名參數(shù)類型必填參數(shù)描述
xLengthGridRowSizeOption
yLengthGridRowSizeOption

GridRowColumnOption

柵格在不同寬度設(shè)備類型下,柵格列數(shù)。

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

參數(shù)名參數(shù)類型必填參數(shù)描述
xsnumber在最小寬度類型設(shè)備上,柵格容器組件的柵格列數(shù)。
smnumber在小寬度類型設(shè)備上,柵格容器組件的柵格列數(shù)。
mdnumber在中等寬度類型設(shè)備上,柵格容器組件的柵格列數(shù)。
lgnumber在大寬度類型設(shè)備上,柵格容器組件的柵格列數(shù)。
xlnumber在特大寬度類型設(shè)備上,柵格容器組件的柵格列數(shù)。
xxlnumber在超大寬度類型設(shè)備上,柵格容器組件的柵格列數(shù)。

GridRowSizeOption

柵格在不同寬度設(shè)備類型下,gutter的大小。

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

參數(shù)名參數(shù)類型必填參數(shù)描述
xsLength在最小寬度類型設(shè)備上,柵格子組件的間距。
smLength在小寬度類型設(shè)備上,柵格子組件的間距。
mdLength在中等寬度類型設(shè)備上,柵格子組件的間距。
lgLength在大寬度類型設(shè)備上,柵格子組件的間距。
xlLength在特大寬度類型設(shè)備上,柵格子組件的間距。
xxlLength在超大寬度類型設(shè)備上,柵格子組件的間距。

BreakPoints

設(shè)置柵格容器組件的斷點(diǎn)。

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

參數(shù)名參數(shù)類型必填參數(shù)描述
valueArray設(shè)置斷點(diǎn)位置的單調(diào)遞增數(shù)組。 默認(rèn)值:["320vp", "600vp", "840vp"]
referenceBreakpointsReference斷點(diǎn)切換參照物。 默認(rèn)值:BreakpointsReference.WindowSize
// 啟用xs、sm、md共3個(gè)斷點(diǎn)
  breakpoints: {value: ["100vp", "200vp"]}
  // 啟用xs、sm、md、lg共4個(gè)斷點(diǎn),斷點(diǎn)范圍值必須單調(diào)遞增
  breakpoints: {value: ["320vp", "600vp", "840vp"]}
  // 啟用xs、sm、md、lg、xl共5個(gè)斷點(diǎn),斷點(diǎn)范圍數(shù)量不可超過斷點(diǎn)可取值數(shù)量-1
  breakpoints: {value: ["320vp", "600vp", "840vp", "1080vp"]}

BreakpointsReference枚舉類型

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

枚舉名描述
WindowSize以窗口為參照。
ComponentSize以容器為參照。

GridRowDirection枚舉類型

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

枚舉名描述
Row柵格元素按照行方向排列。
RowReverse柵格元素按照逆序行方向排列。

柵格最多支持xs、sm、md、lg、xl、xxl六個(gè)斷點(diǎn),且名稱不可修改。假設(shè)傳入的數(shù)組是[n0, n1, n2, n3, n4],各個(gè)斷點(diǎn)取值如下:

斷點(diǎn)取值范圍
xs[0, n0)
sm[n0, n1)
md[n1, n2)
lg[n2, n3)
xl[n3, n4)
xxl[n4, INF)

說明:

  • 柵格元素僅支持Row/RowReverse排列,不支持column/ColumnReverse方向排列。
  • 柵格子組件僅能通過span、offset計(jì)算子組件位置與大小。多個(gè)子組件span超過規(guī)定列數(shù)時(shí)自動(dòng)換行。
  • 單個(gè)元素span大小超過最大列數(shù)時(shí)后臺(tái)默認(rèn)span為最大column數(shù)。
  • 新一行的Offset加上子組件的span超過總列數(shù)時(shí),將下一個(gè)子組件在新的一行放置。
  • 例:Item1: GridCol({ span: 6}), Item2: GridCol({ span: 8, offset:11})
123456789101112
°°°°°°°°°°°°------
-----
°°°°°°°°°°°°°°°°

屬性

除支持[通用屬性]外,還支持以下屬性:

名稱參數(shù)類型描述
alignItems10+ItemAlign設(shè)置GridRow中的GridCol垂直主軸方向?qū)R方式,默認(rèn)值:ItemAlign.Start 說明 : ItemAlign支持的枚舉:ItemAlign.Start、ItemAlign.Center、ItemAlign.End、ItemAlign.Stretch。 GridCol本身也可通過alignSelf([ItemAlign])設(shè)置自身對齊方式。當(dāng)上述兩種對齊方式都設(shè)置時(shí),以GridCol自身設(shè)置為準(zhǔn)。 從API version 10開始,該接口支持在ArkTS卡片中使用。

事件

onBreakpointChange

onBreakpointChange(callback: (breakpoints: string) => void)

斷點(diǎn)發(fā)生變化時(shí)觸發(fā)回調(diào)。

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

參數(shù):

參數(shù)名參數(shù)類型必填說明
eakpointsstring取值為"xs"、"sm""md"、"lg"、"xl""xxl"。HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿

鴻蒙文檔.png

示例

// xxx.ets
@Entry
@Component
struct GridRowExample {
  @State bgColors: Color[] = [Color.Red, Color.Orange, Color.Yellow, Color.Green, Color.Pink, Color.Grey, Color.Blue, Color.Brown]
  @State currentBp: string = 'unknown'

  build() {
    Column() {
      GridRow({
        columns: 5,
        gutter: { x: 5, y: 10 },
        breakpoints: { value: ["400vp", "600vp", "800vp"],
          reference: BreakpointsReference.WindowSize },
        direction: GridRowDirection.Row
      }) {
        ForEach(this.bgColors, (color: Color) = > {
          GridCol({ span: { xs: 1, sm: 2, md: 3, lg: 4 }, offset: 0, order: 0 }) {
            Row().width("100%").height("20vp")
          }.borderColor(color).borderWidth(2)
        })
      }.width("100%").height("100%")
      .onBreakpointChange((breakpoint) = > {
        this.currentBp = breakpoint
      })
    }.width('80%').margin({ left: 10, top: 5, bottom: 5 }).height(200)
    .border({ color: '#880606', width: 2 })
  }
}

figures/gridrow.png

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 組件
    +關(guān)注

    關(guān)注

    1

    文章

    498

    瀏覽量

    17771
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2287

    瀏覽量

    42629
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    鴻蒙ArkTS容器組件:Column

    沿垂直方向布局的容器
    的頭像 發(fā)表于 07-05 16:32 ?338次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>容器</b><b class='flag-5'>組件</b>:Column

    鴻蒙ArkTS容器組件:Flex

    以彈性方式布局子組件容器組件。
    的頭像 發(fā)表于 07-08 10:19 ?340次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>容器</b><b class='flag-5'>組件</b>:Flex

    鴻蒙ArkTS容器組件:FlowItem

    [瀑布流組件]的子組件,用來展示瀑布流具體item。
    的頭像 發(fā)表于 07-08 09:56 ?268次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>容器</b><b class='flag-5'>組件</b>:FlowItem

    鴻蒙ArkTS容器組件:GridItem

    網(wǎng)格容器中單項(xiàng)內(nèi)容容器。
    的頭像 發(fā)表于 07-09 09:25 ?288次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>容器</b><b class='flag-5'>組件</b>:GridItem

    鴻蒙ArkTS容器組件:ListItem

    可以包含單個(gè)子組件。
    的頭像 發(fā)表于 07-10 15:41 ?488次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>容器</b><b class='flag-5'>組件</b>:ListItem

    鴻蒙ArkTS容器組件:ListItemGroup

    組件用來展示列表item分組,寬度默認(rèn)充滿[List]組件,必須配合List組件來使用。
    的頭像 發(fā)表于 07-10 09:20 ?480次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>容器</b><b class='flag-5'>組件</b>:ListItemGroup

    鴻蒙ArkTS容器組件:Navigator

    路由容器組件,提供路由跳轉(zhuǎn)能力。
    的頭像 發(fā)表于 07-10 14:55 ?317次閱讀

    鴻蒙ArkTS容器組件:Refresh

    可以進(jìn)行頁面下拉操作并顯示刷新動(dòng)效的容器組件。
    的頭像 發(fā)表于 07-11 16:11 ?363次閱讀

    鴻蒙ArkTS容器組件:RowSplit

    將子組件橫向布局,并在每個(gè)子組件之間插入一根縱向的分割線。
    的頭像 發(fā)表于 07-11 22:25 ?224次閱讀

    鴻蒙ArkTS容器組件:Scroll

    可滾動(dòng)的容器組件,當(dāng)子組件的布局尺寸超過父組件的尺寸時(shí),內(nèi)容可以滾動(dòng)。
    的頭像 發(fā)表于 07-12 15:24 ?927次閱讀

    鴻蒙ArkTS容器組件:SideBarContainer

    提供側(cè)邊欄可以顯示和隱藏的側(cè)邊欄容器,通過子組件定義側(cè)邊欄和內(nèi)容區(qū),第一個(gè)子組件表示側(cè)邊欄,第二個(gè)子組件表示內(nèi)容區(qū)。
    的頭像 發(fā)表于 07-18 15:46 ?381次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>容器</b><b class='flag-5'>組件</b>:SideBarContainer

    鴻蒙ArkTS容器組件:Stack

    堆疊容器,子組件按照順序依次入棧,后一個(gè)子組件覆蓋前一個(gè)子組件。
    的頭像 發(fā)表于 07-15 18:23 ?744次閱讀

    鴻蒙ArkTS容器組件:Swiper

    滑塊視圖容器,提供子組件滑動(dòng)輪播顯示的能力。
    的頭像 發(fā)表于 07-15 09:51 ?428次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>容器</b><b class='flag-5'>組件</b>:Swiper

    鴻蒙ArkTS容器組件:Tabs

    通過頁簽進(jìn)行內(nèi)容視圖切換的容器組件,每個(gè)頁簽對應(yīng)一個(gè)內(nèi)容視圖。
    的頭像 發(fā)表于 07-15 09:48 ?567次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>容器</b><b class='flag-5'>組件</b>:Tabs

    鴻蒙ArkTS容器組件:WaterFlow

    瀑布流容器,由“行”和“列”分割的單元格所組成,通過容器自身的排列規(guī)則,將不同大小的“項(xiàng)目”自上而下,如瀑布般緊密布局。
    的頭像 發(fā)表于 07-15 17:35 ?340次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>容器</b><b class='flag-5'>組件</b>:WaterFlow