HarmonyOS 鸿蒙Next 重大发现:FA模型的页面WINDOW要这样获取

HarmonyOS 鸿蒙Next 重大发现:FA模型的页面WINDOW要这样获取

我想把页面的状态栏、导航栏隐藏,一开始怎么弄都不行。没办法,把指南、API接口相关的文档又翻来覆去看了几遍,终于试出来了。

1、页面WINDOW需要用 featureAbility 获取;

2、devco studio中的几个设置状态栏、导航栏的可用接口基本不起作用,反而是带删除线的可用(我人都麻了,一次点错的发现的);

3、大海中总有无数暗礁、危险,发现了,就给同行做个标记吧。

参考代码如下:

```javascript
import featureAbility from '[@ohos](/user/ohos).ability.featureAbility';

export default {
    data: {
        title: ""
    },
    onInit() {
        featureAbility.getWindow((err, window) => {
            if (err.code) {
                console.error('Failed to get the subWindow. Cause: ' + JSON.stringify(err));
                return;
            }
            console.info('Succeeded in getting subWindow. Data: ' + JSON.stringify(window));
            //window.setWindowLayoutFullScreen(true);//不可用
            //window.setWindowSystemBarEnable([]);//可用
            //window.setWindowFullScreen(true);//不可用
            //window.setLayoutFullScreen(true);//带删除线,可用
            //window.setSystemBarEnable([]);//带删除线,可用
            //window.setFullScreen(true);//带删除线,可用
        });
        
        this.title = this.$t('strings.world');
    }
}

更多关于HarmonyOS 鸿蒙Next 重大发现:FA模型的页面WINDOW要这样获取的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS 鸿蒙Next 重大发现:FA模型的页面WINDOW要这样获取的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,FA(Feature Ability)模型的页面WINDOW可以通过AbilitySlicegetWindow方法来获取。AbilitySlice是鸿蒙系统中用于管理UI页面的基本单元,继承自Ability。通过getWindow方法,可以获取当前AbilitySlice的窗口对象,进而进行窗口相关的操作。

具体代码示例如下:

import ability from '@ohos.ability.featureAbility';
import window from '@ohos.window';

let abilityContext = ability.getContext();
let windowClass = null;

abilityContext.getWindow((err, data) => {
    if (err) {
        console.error('Failed to get window. Cause: ' + JSON.stringify(err));
        return;
    }
    windowClass = data;
    console.info('Succeeded in getting window. Data: ' + JSON.stringify(data));
});

在上述代码中,ability.getContext()用于获取当前Ability的上下文,getWindow方法则用于获取与当前AbilitySlice关联的窗口对象。获取到窗口对象后,可以对其进行进一步的操作,如设置窗口属性、调整窗口大小等。

需要注意的是,getWindow方法是异步的,因此需要通过回调函数来处理获取到的窗口对象。

回到顶部