組件內(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]HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 |
說(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)
}
}
-
API
+關(guān)注
關(guān)注
2文章
1501瀏覽量
62034 -
組件
+關(guān)注
關(guān)注
1文章
512瀏覽量
17829 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2352瀏覽量
42863
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論