用于對組件進行裁剪、遮罩處理。
說明:
從API Version 7開始支持。后續版本如有新增內容,則采用上角標單獨標記該內容的起始版本。
clip
clip(value: boolean | CircleAttribute | EllipseAttribute | PathAttribute | RectAttribute)
按指定的形狀對當前組件進行裁剪。
卡片能力:?從API version 9開始,該接口支持在ArkTS卡片中使用。
系統能力:?SystemCapability.ArkUI.ArkUI.Full
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
value | boolean?|?CircleAttribute?|?EllipseAttribute?|?PathAttribute?|?RectAttribute | 是 | 參數為相應類型的組件,按指定的形狀對當前組件進行裁剪;參數為boolean類型時,設置是否按照父容器邊緣輪廓進行裁剪。 默認值:false |
mask
mask(value: CircleAttribute | EllipseAttribute | PathAttribute | RectAttribute | ProgressMask)
為組件上添加指定形狀的遮罩。
卡片能力:?從API version 9開始,該接口支持在ArkTS卡片中使用。
系統能力:?SystemCapability.ArkUI.ArkUI.Full
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
value | ProgressMask10+?|?CircleAttribute?|?EllipseAttribute?|?PathAttribute?|?RectAttribute | 是 | 在當前組件上加上指定形狀的遮罩。 |
ProgressMask10+
ProgressMask設置遮罩的進度、最大值和遮罩顏色。
constructor10+
constructor(value: number, total: number, color: ResourceColor)
構造ProgressMask對象。
參數:
參數名 | 參數類型 | 必填 | 參數描述 |
---|---|---|---|
value | number | 是 | 進度遮罩的當前值。 |
total | number | 是 | 進度遮罩的最大值。 |
color | ResourceColor | 是 | 進度遮罩的顏色。 |
updateProgress10+
updateProgress(value: number): void
更新進度遮罩的進度值。
參數:
參數名 | 參數類型 | 必填 | 參數描述 |
---|---|---|---|
value | number | 是 | 進度遮罩的當前值。 |
updateColor10+
updateColor(value: ResourceColor): void
更新進度遮罩的顏色。
參數:
參數名 | 參數類型 | 必填 | 參數描述 |
---|---|---|---|
value | ResourceColor | 是 | 進度遮罩的顏色。 |
示例
示例1
// xxx.ets
@Entry
@Component
struct ClipAndMaskExample {build() {Column({ space: 15 }) {Text('clip').fontSize(12).width('75%').fontColor('#DCDCDC')Row() {Image($r('app.media.testImg')).width('500px').height('280px')}.clip(true) // 如這里不設置clip為true,則Row組件的圓角不會限制其中的Image組件,Image組件的四個角會超出Row.borderRadius(20)// 用一個280px直徑的圓對圖片進行裁剪Image($r('app.media.testImg')).clip(new Circle({ width: '280px', height: '280px' })).width('500px').height('280px')Text('mask').fontSize(12).width('75%').fontColor('#DCDCDC')// 給圖片添加了一個500px*280px的方形遮罩Image($r('app.media.testImg')).mask(new Rect({ width: '500px', height: '280px' }).fill(Color.Gray)).width('500px').height('280px')// 給圖片添加了一個280px*280px的圓形遮罩Image($r('app.media.testImg')).mask(new Circle({ width: '280px', height: '280px' }).fill(Color.Gray)).width('500px').height('280px')}.width('100%').margin({ top: 15 })}
}
示例2
@Entry
@Component
struct ProgressMaskExample {@State progressflag1: boolean = true;@State color: Color = 0x01006CDE;@State value: number = 10.0;@State progress: ProgressMask = new ProgressMask(10.0, 100.0, Color.Gray);build() {Column({ space: 15 }) {Text('progress mask').fontSize(12).width('75%').fontColor('#DCDCDC')// 給圖片添加了一個280px*280px的進度遮罩Image($r('app.media.testImg')).width('500px').height('280px').mask(this.progress).animation({duration: 2000, // 動畫時長curve: Curve.Linear, // 動畫曲線delay: 0, // 動畫延遲iterations: 1, // 播放次數playMode: PlayMode.Normal // 動畫模式}) // 對Button組件的寬高屬性進行動畫配置// 更新進度遮罩的進度值Button('updateProgress').onClick((event?: ClickEvent) => {this.value += 10;this.progress.updateProgress(this.value);}).width(200).height(50).margin(20)// 更新進度遮罩的顏色Button('updateColor').onClick((event?: ClickEvent) => {if (this.progressflag1) {this.progress.updateColor(0x9fff0000);} else {this.progress.updateColor(0x9f0000ff);}this.progressflag1 = !this.progressflag1}).width(200).height(50).margin(20)// 恢復進度遮罩Button('click reset!').onClick((event?: ClickEvent) => {this.value = 0;this.progress.updateProgress(this.value);}).width(200).height(50).margin(20)}.width('100%').margin({ top: 15 })}
}
最后,有很多小伙伴不知道學習哪些鴻蒙開發技術?不知道需要重點掌握哪些鴻蒙應用開發知識點?而且學習時頻繁踩坑,最終浪費大量時間。所以有一份實用的鴻蒙(Harmony NEXT)資料用來跟著學習是非常有必要的。?
這份鴻蒙(Harmony NEXT)資料包含了鴻蒙開發必掌握的核心知識要點,內容包含了(ArkTS、ArkUI開發組件、Stage模型、多端部署、分布式應用開發、音頻、視頻、WebGL、OpenHarmony多媒體技術、Napi組件、OpenHarmony內核、Harmony南向開發、鴻蒙項目實戰等等)鴻蒙(Harmony NEXT)技術知識點。
希望這一份鴻蒙學習資料能夠給大家帶來幫助,有需要的小伙伴自行領取,限時開源,先到先得~無套路領取!!
?獲取這份完整版高清學習路線,請點擊→純血版全套鴻蒙HarmonyOS學習資料
鴻蒙(Harmony NEXT)最新學習路線
-
?HarmonOS基礎技能
- HarmonOS就業必備技能?
- ?HarmonOS多媒體技術
- 鴻蒙NaPi組件進階
- HarmonOS高級技能
- 初識HarmonOS內核?
- 實戰就業級設備開發
有了路線圖,怎么能沒有學習資料呢,小編也準備了一份聯合鴻蒙官方發布筆記整理收納的一套系統性的鴻蒙(OpenHarmony )學習手冊(共計1236頁)與鴻蒙(OpenHarmony )開發入門教學視頻,內容包含:ArkTS、ArkUI、Web開發、應用模型、資源分類…等知識點。
獲取以上完整版高清學習路線,請點擊→純血版全套鴻蒙HarmonyOS學習資料
《鴻蒙 (OpenHarmony)開發入門教學視頻》
《鴻蒙生態應用開發V2.0白皮書》
《鴻蒙 (OpenHarmony)開發基礎到實戰手冊》
OpenHarmony北向、南向開發環境搭建
?《鴻蒙開發基礎》
- ArkTS語言
- 安裝DevEco Studio
- 運用你的第一個ArkTS應用
- ArkUI聲明式UI開發
- .……
?《鴻蒙開發進階》
- Stage模型入門
- 網絡管理
- 數據管理
- 電話服務
- 分布式應用開發
- 通知與窗口管理
- 多媒體技術
- 安全技能
- 任務管理
- WebGL
- 國際化開發
- 應用測試
- DFX面向未來設計
- 鴻蒙系統移植和裁剪定制
- ……
《鴻蒙進階實戰》
- ArkTS實踐
- UIAbility應用
- 網絡案例
- ……
?獲取以上完整鴻蒙HarmonyOS學習資料,請點擊→純血版全套鴻蒙HarmonyOS學習資料
總結
總的來說,華為鴻蒙不再兼容安卓,對中年程序員來說是一個挑戰,也是一個機會。只有積極應對變化,不斷學習和提升自己,他們才能在這個變革的時代中立于不敗之地。?