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

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

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

鴻蒙ArkTS聲明式開(kāi)發(fā):跨平臺(tái)支持列表【組件內(nèi)容填充方式】

jf_46214456 ? 來(lái)源:jf_46214456 ? 作者:jf_46214456 ? 2024-06-15 09:11 ? 次閱讀

組件內(nèi)容填充方式

用于決定在組件的寬高動(dòng)畫(huà)過(guò)程中,如何將動(dòng)畫(huà)最終的組件內(nèi)容繪制在組件上。

說(shuō)明:
開(kāi)發(fā)前請(qǐng)熟悉鴻蒙開(kāi)發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]點(diǎn)擊或者復(fù)制轉(zhuǎn)到。
從API Version 10開(kāi)始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標(biāo)單獨(dú)標(biāo)記該內(nèi)容的起始版本。

屬性

名稱參數(shù)類型必填描述
renderFit[RenderFit]設(shè)置寬高動(dòng)畫(huà)過(guò)程中的組件內(nèi)容填充方式。 當(dāng)不設(shè)置renderFit屬性時(shí),取默認(rèn)值RenderFit.TOP_LEFT。

RenderFit枚舉說(shuō)明

名稱描述示意圖
CENTER保持動(dòng)畫(huà)終態(tài)的內(nèi)容大小,并且內(nèi)容始終與組件保持中心對(duì)齊。![renderfit_center]
TOP保持動(dòng)畫(huà)終態(tài)的內(nèi)容大小,并且內(nèi)容始終與組件保持頂部中心對(duì)齊。![renderfit_top]
BOTTOM保持動(dòng)畫(huà)終態(tài)的內(nèi)容大小,并且內(nèi)容始終與組件保持底部中心對(duì)齊。![renderfit_bottom]
LEFT保持動(dòng)畫(huà)終態(tài)的內(nèi)容大小,并且內(nèi)容始終與組件保持左側(cè)對(duì)齊。![renderfit_left]
RIGHT保持動(dòng)畫(huà)終態(tài)的內(nèi)容大小,并且內(nèi)容始終與組件保持右側(cè)對(duì)齊。![renderfit_right]
TOP_LEFT保持動(dòng)畫(huà)終態(tài)的內(nèi)容大小,并且內(nèi)容始終與組件保持左上角對(duì)齊。![renderfit_top_left]
TOP_RIGHT保持動(dòng)畫(huà)終態(tài)的內(nèi)容大小,并且內(nèi)容始終與組件保持右上角對(duì)齊。![renderfit_top_right]
BOTTOM_LEFT保持動(dòng)畫(huà)終態(tài)的內(nèi)容大小,并且內(nèi)容始終與組件保持左下角對(duì)齊。![renderfit_bottom_left]
BOTTOM_RIGHT保持動(dòng)畫(huà)終態(tài)的內(nèi)容大小,并且內(nèi)容始終與組件保持右下角對(duì)齊。![renderfit_bottom_right]
RESIZE_FILL不考慮動(dòng)畫(huà)終態(tài)內(nèi)容的寬高比,并且內(nèi)容始終縮放到組件的大小。![renderfit_resize_fill]
RESIZE_CONTAIN保持動(dòng)畫(huà)終態(tài)內(nèi)容的寬高比進(jìn)行縮小或放大,使內(nèi)容完整顯示在組件內(nèi),且與組件保持中心對(duì)齊。![renderfit_resize_contain]
RESIZE_CONTAIN_TOP_LEFT保持動(dòng)畫(huà)終態(tài)內(nèi)容的寬高比進(jìn)行縮小或放大,使內(nèi)容完整顯示在組件內(nèi)。當(dāng)組件寬方向有剩余時(shí),內(nèi)容與組件保持左側(cè)對(duì)齊,當(dāng)組件高方向有剩余時(shí),內(nèi)容與組件保持頂部對(duì)齊。![renderfit_resize_contain_top_left]
RESIZE_CONTAIN_BOTTOM_RIGHT保持動(dòng)畫(huà)終態(tài)內(nèi)容的寬高比進(jìn)行縮小或放大,使內(nèi)容完整顯示在組件內(nèi)。當(dāng)組件寬方向有剩余時(shí),內(nèi)容與組件保持右側(cè)對(duì)齊,當(dāng)組件高方向有剩余時(shí),內(nèi)容與組件保持底部對(duì)齊。![renderfit_resize_contain_bottom_right]
RESIZE_COVER保持動(dòng)畫(huà)終態(tài)內(nèi)容的寬高比進(jìn)行縮小或放大,使內(nèi)容兩邊都大于或等于組件兩邊,且與組件保持中心對(duì)齊,顯示內(nèi)容的中間部分。![renderfit_resize_cover]
RESIZE_COVER_TOP_LEFT保持動(dòng)畫(huà)終態(tài)內(nèi)容的寬高比進(jìn)行縮小或放大,使內(nèi)容的兩邊都恰好大于或等于組件兩邊。當(dāng)內(nèi)容寬方向有剩余時(shí),內(nèi)容與組件保持左側(cè)對(duì)齊,顯示內(nèi)容的左側(cè)部分。當(dāng)內(nèi)容高方向有剩余時(shí),內(nèi)容與組件保持頂部對(duì)齊,顯示內(nèi)容的頂側(cè)部分。![renderfit_resize_cover_top_left]
RESIZE_COVER_BOTTOM_RIGHT保持動(dòng)畫(huà)終態(tài)內(nèi)容的寬高比進(jìn)行縮小或放大,使內(nèi)容的兩邊都恰好大于或等于組件兩邊。當(dāng)內(nèi)容寬方向有剩余時(shí),內(nèi)容與組件保持右側(cè)對(duì)齊,顯示內(nèi)容的右側(cè)部分。當(dāng)內(nèi)容高方向有剩余時(shí),內(nèi)容與組件保持底部對(duì)齊,顯示內(nèi)容的底側(cè)部分。![renderfit_resize_cover_bottom_right]HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿

新文檔.png

說(shuō)明:

  • 示意圖中,藍(lán)色區(qū)域表示內(nèi)容,橙黃色區(qū)域表示節(jié)點(diǎn)大小。
  • 不同的內(nèi)容填充方式在寬高動(dòng)畫(huà)過(guò)程中效果不一致,開(kāi)發(fā)者需要選擇合適的內(nèi)容填充方式以實(shí)現(xiàn)需要的動(dòng)畫(huà)效果。

示例

// xxx.ets
@Entry
@Component
struct RenderFitExample {
  @State width1: number = 100;
  @State height1: number = 30;
  flag: boolean = true;
  build() {
    Column() {
      Text("Hello")
        .width(this.width1)
        .height(this.height1)
        .borderWidth(1)
        .textAlign(TextAlign.Start)
        .renderFit(RenderFit.LEFT) // 設(shè)置LEFT的renderFit,動(dòng)畫(huà)過(guò)程中,動(dòng)畫(huà)的終態(tài)內(nèi)容與組件保持左對(duì)齊
        .margin(20)

      Text("Hello")
        .width(this.width1)
        .height(this.height1)
        .textAlign(TextAlign.Center)
        .borderWidth(1)
        .renderFit(RenderFit.CENTER) // 設(shè)置CENTER的renderFit,動(dòng)畫(huà)過(guò)程中,動(dòng)畫(huà)的終態(tài)內(nèi)容與組件保持中心對(duì)齊
        .margin(20)

      Button("animate")
        .onClick(() = > {
          animateTo({ curve: Curve.Ease }, () = > {
            if (this.flag) {
              this.width1 = 150;
              this.height1 = 50;
            } else {
              this.width1 = 100;
              this.height1 = 30;
            }
            this.flag = !this.flag;
          })
        })
    }.width("100%").height("100%").alignItems(HorizontalAlign.Center)
  }
}

renderfit

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    1501

    瀏覽量

    62034
  • 組件
    +關(guān)注

    關(guān)注

    1

    文章

    512

    瀏覽量

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

    關(guān)注

    57

    文章

    2352

    瀏覽量

    42863
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    鴻蒙ArkTS的起源和簡(jiǎn)介

    主流的前端開(kāi)發(fā)方式。同步的,在運(yùn)行時(shí)方面,通過(guò)渲染引擎的增強(qiáng)(平臺(tái)無(wú)關(guān)的自繪制機(jī)制、聲明UI后端設(shè)計(jì)、動(dòng)態(tài)布局/多態(tài)UI組件等),語(yǔ)言編譯
    發(fā)表于 01-16 16:23

    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)支持列表【點(diǎn)擊事件】

    組件被點(diǎn)擊時(shí)觸發(fā)的事件。
    的頭像 發(fā)表于 05-26 21:25 ?721次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>開(kāi)發(fā)</b>:<b class='flag-5'>跨</b><b class='flag-5'>平臺(tái)</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【點(diǎn)擊事件】

    鴻蒙ArkTS聲明開(kāi)發(fā)平臺(tái)支持列表【觸摸事件】

    當(dāng)手指在組件上按下、滑動(dòng)、抬起時(shí)觸發(fā)。
    的頭像 發(fā)表于 05-27 09:34 ?499次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>開(kāi)發(fā)</b>:<b class='flag-5'>跨</b><b class='flag-5'>平臺(tái)</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【觸摸事件】

    鴻蒙ArkTS聲明開(kāi)發(fā)平臺(tái)支持列表【按鍵事件】

    按鍵事件指組件與鍵盤(pán)、遙控器等按鍵設(shè)備交互時(shí)觸發(fā)的事件,適用于所有可獲焦組件,例如Button。對(duì)于Text,Image等默認(rèn)不可獲焦的組件,可以設(shè)置focusable屬性為true后使用按鍵事件。
    的頭像 發(fā)表于 05-28 18:12 ?876次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>開(kāi)發(fā)</b>:<b class='flag-5'>跨</b><b class='flag-5'>平臺(tái)</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【按鍵事件】

    鴻蒙ArkTS聲明開(kāi)發(fā)平臺(tái)支持列表【焦點(diǎn)事件】

    焦點(diǎn)事件指頁(yè)面焦點(diǎn)在可獲焦組件間移動(dòng)時(shí)觸發(fā)的事件,組件可使用焦點(diǎn)事件來(lái)處理相關(guān)邏輯。
    的頭像 發(fā)表于 05-27 22:17 ?340次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>開(kāi)發(fā)</b>:<b class='flag-5'>跨</b><b class='flag-5'>平臺(tái)</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【焦點(diǎn)事件】

    鴻蒙ArkTS聲明開(kāi)發(fā)平臺(tái)支持列表組件快捷鍵事件】

    開(kāi)發(fā)者可以設(shè)置組件的自定義組合鍵,組合鍵的行為與click行為一致,組件在未獲得焦點(diǎn)狀態(tài)下也可以響應(yīng)自定義組合鍵,每個(gè)組件可以設(shè)置多個(gè)組合鍵。
    的頭像 發(fā)表于 05-28 15:49 ?468次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>開(kāi)發(fā)</b>:<b class='flag-5'>跨</b><b class='flag-5'>平臺(tái)</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【<b class='flag-5'>組件</b>快捷鍵事件】

    鴻蒙ArkTS聲明開(kāi)發(fā)平臺(tái)支持列表組件可見(jiàn)區(qū)域變化事件】

    組件可見(jiàn)區(qū)域變化事件是組件在屏幕中的顯示區(qū)域面積變化時(shí)觸發(fā)的事件,提供了判斷組件是否完全或部分顯示在屏幕中的能力,適用于廣告曝光埋點(diǎn)之類的場(chǎng)景。
    的頭像 發(fā)表于 05-30 10:37 ?411次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>開(kāi)發(fā)</b>:<b class='flag-5'>跨</b><b class='flag-5'>平臺(tái)</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【<b class='flag-5'>組件</b>可見(jiàn)區(qū)域變化事件】

    鴻蒙ArkTS聲明開(kāi)發(fā)平臺(tái)支持列表【Flex布局】 通用屬性

    從API Version 7開(kāi)始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標(biāo)單獨(dú)標(biāo)記該內(nèi)容的起始版本。 > - 僅當(dāng)父組件是 Flex、Column、Row 、GridRow時(shí)生效。
    的頭像 發(fā)表于 05-30 14:38 ?606次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>開(kāi)發(fā)</b>:<b class='flag-5'>跨</b><b class='flag-5'>平臺(tái)</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【Flex布局】 通用屬性

    鴻蒙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)始,該接口支持
    的頭像 發(fā)表于 06-03 14:46 ?597次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>開(kāi)發(fā)</b>:<b class='flag-5'>跨</b><b class='flag-5'>平臺(tái)</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【顯隱控制】 通用屬性

    鴻蒙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)始,該接口支持Ark
    的頭像 發(fā)表于 06-04 15:22 ?476次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>開(kāi)發(fā)</b>:<b class='flag-5'>跨</b><b class='flag-5'>平臺(tái)</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【形狀裁剪】 通用屬性

    鴻蒙ArkTS聲明開(kāi)發(fā)平臺(tái)支持列表【菜單控制】 通用屬性

    組件綁定彈出菜單,彈出菜單以垂直列表形式顯示菜單項(xiàng),可通過(guò)長(zhǎng)按、點(diǎn)擊或鼠標(biāo)右鍵觸發(fā)。
    的頭像 發(fā)表于 06-06 09:17 ?690次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>開(kāi)發(fā)</b>:<b class='flag-5'>跨</b><b class='flag-5'>平臺(tái)</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【菜單控制】 通用屬性

    鴻蒙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ā)送事件的功能。
    的頭像 發(fā)表于 06-06 15:51 ?387次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>開(kāi)發(fā)</b>:<b class='flag-5'>跨</b><b class='flag-5'>平臺(tái)</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【<b class='flag-5'>組件</b>標(biāo)識(shí)】 通用屬性

    鴻蒙ArkTS聲明開(kāi)發(fā)平臺(tái)支持列表【多態(tài)樣式】 通用屬性

    設(shè)置組件不同狀態(tài)的樣式。 從API version 9開(kāi)始,該接口支持ArkTS卡片中使用。
    的頭像 發(fā)表于 06-07 09:48 ?408次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>開(kāi)發(fā)</b>:<b class='flag-5'>跨</b><b class='flag-5'>平臺(tái)</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【多態(tài)樣式】 通用屬性

    鴻蒙ArkTS聲明開(kāi)發(fā)平臺(tái)支持列表組件內(nèi)容模糊】 通用屬性

    為當(dāng)前組件提供內(nèi)容模糊能力。 value: 內(nèi)容模糊樣式。模糊樣式由模糊半徑、蒙版顏色、蒙版透明度、飽和度、亮度五個(gè)參數(shù)組成。 options: 可選參數(shù),內(nèi)容模糊選項(xiàng)。
    的頭像 發(fā)表于 06-10 18:32 ?640次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>開(kāi)發(fā)</b>:<b class='flag-5'>跨</b><b class='flag-5'>平臺(tái)</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【<b class='flag-5'>組件</b><b class='flag-5'>內(nèi)容</b>模糊】 通用屬性