OpenHarmony开发者论坛
标题:
OpenHarmony3.2修改启动器源码实现动态壁纸初步方案
[打印本页]
作者:
westinyang
时间:
2023-10-29 10:40
标题:
OpenHarmony3.2修改启动器源码实现动态壁纸初步方案
[md]# 序言
本文提到的内容适用于 OpenHarmony 3.2,通过修改系统启动器源码实现动态壁纸的初步方案。其实在 OpenHarmony 4.0 中,官方接口也提供了新的修改壁纸的接口,包括动态壁纸设置。
# 源码修改
> 系统桌面仓库:
https://gitee.com/openharmony/ap ... armony-3.2-Release/
- 在 `product/phone/src/main/ets/pages` 下新增一个 `DynamicWallpaper.ets`(除了放置Video组件外,我也尝试过Web组件用于加载网页作为壁纸,但是实际测试中Web组件无法正常加载,原因未知)
```js
import webview from '@ohos.web.webview'
@Component
export default struct DynamicWallpaper {
webviewController: webview.WebviewController = new webview.WebviewController()
videoController: VideoController = new VideoController()
onPageShow() {
this.videoController.start()
}
onPageHide() {
// this.videoController.pause()
}
build() {
Column() {
/*Web({ src: $rawfile("index.html"), controller: this.webviewController })
.zoomAccess(false)
.mediaPlayGestureAccess(false)
.horizontalScrollBarAccess(false)
.verticalScrollBarAccess(false)
.fileAccess(true)
.domStorageAccess(true)
.databaseAccess(true)
.javaScriptAccess(true)
.width('100%')
.height('100%')*/
Video({
src: $rawfile('video1.mp4'),
currentProgressRate: PlaybackSpeed.Speed_Forward_1_00_X,
controller: this.videoController
})
.width('100%')
.height('100%')
.loop(true)
.autoPlay(true)
.controls(false)
}
.width('100%')
.height('100%')
}
}
```
- 在 `product/phone/src/main/resources/rawfile` 下面新增 `video1.mp4`
- 修改:`product/phone/src/main/ets/pages/EntryView.ets`,在 `Stack()` 布局中加入 `DynamicWallpaper()` (Stack层叠布局中,元素可以重叠的布局,后一个子元素覆盖前一个子元素,子元素可以叠加,也可以设置位置)
```js
import DynamicWallpaper from './DynamicWallpaper';
......
build() {
Stack() {
DynamicWallpaper()
......
}
.backgroundImage(StyleConstants.DEFAULT_BACKGROUND_IMAGE)
.backgroundImageSize(ImageSize.Cover)
.backgroundImagePosition(Alignment.Center)
.width('100%')
.height('100%')
}
```
# 持续关注
- OHOS Dev:[
https://gitee.com/ohos-dev
](
https://gitee.com/ohos-dev
) `OpenHarmony开源项目组织,为OpenHarmony的未来而创建,Peace & Love`
- BiliBili:[
https://space.bilibili.com/74433635
](
https://space.bilibili.com/74433635
) `投稿OpenHarmony探索研究、应用开发和相关技术教程`
[/md]
欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/)
Powered by Discuz! X3.5