使用角度模板在nativescript中隐藏状态栏的正确方法是什么?

问题描述 投票:0回答:2

如何隐藏特定活动的状态栏?

我发现了类似的问题,但没有一个答案对我有用。

Ref # 1

Ref # 2

Ref # 3

Ref # 4

该应用程序每次都崩溃,并向我显示在genymotion andriod VM上运行我的应用程序时错误无法读取属性getWindow。下面是简短的错误屏幕截图

enter image description here

下面是我的home.component.ts代码

import { Component, OnInit } from "@angular/core";
import {Page} from "ui/page";
import * as app from "tns-core-modules/application";

@Component({
    selector: "Home",
    moduleId: module.id,
    templateUrl: "./home.component.html",
    styleUrls: ["./home.component.scss"]
})
export class HomeComponent implements OnInit {

    constructor(page: Page) {
        page.actionBarHidden = true;
        this.statusBar('hide');
    }

    ngOnInit(): void {

        // Init your component properties here.
    }

    statusBar(action: string){
        var activity = app.android.startActivity;
        //activity.runOnUiThread(function(){
        var win = activity.getWindow();
        if(action === 'hide'){
            win.addFlags(app.android.nativeApp.view.WindowManager.LayoutParams.FLAG_FULLSCREEN);
        } else if(action === 'show'){
            win.clearFlags(app.android.nativeApp.view.WindowManager.LayoutParams.FLAG_FULLSCREEN);
        }
    }
}

请对此提供帮助。谢谢。

nativescript angular2-nativescript
2个回答
1
投票

您可能想使用nativescript-status-bar插件。

import * as statusBar from 'nativescript-status-bar'

// Show
statusBar.show();

// Hide
statusBar.hide();

0
投票

如果您正在寻找解决方案以全屏查看应用程序并隐藏状态栏,请使用:

var activity = app.android.foregroundActivity || app.android.startActivity;
var window = activity.getWindow();
window.clearFlags(android.view.WindowManager.LayoutParams.FLAG_FULLSCREEN)
© www.soinside.com 2019 - 2024. All rights reserved.