Nativescript Angular-属性'SYSTEM_UI_FLAG_IMMERSIVE_STICKY'在'typeof View'类型上不存在

时间:2020-11-07 13:52:13

标签: android typescript nativescript typescript-typings nativescript-angular

我正在尝试将Android上的uiVisibility设置为像这样的粘性和身临其境感:

    const View = android.view.View;
    const window = app.android.startActivity.getWindow();
    const decorView = window.getDecorView();
    decorView.setSystemUiVisibility(
        // tslint:disable-next-line: no-bitwise
        View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
        View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
        View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |
        View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
        View.SYSTEM_UI_FLAG_FULLSCREEN |
        View.SYSTEM_UI_FLAG_LOW_PROFILE |
        View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);

但是每次我在终端中生成即时消息时,都会出现这样的消息

ERROR in src/app/common/services/ui.service.ts:25:18 - error TS2339: Property 'SYSTEM_UI_FLAG_IMMERSIVE_STICKY' does not exist on type 'typeof View'.

25             View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);

现在,我设法通过在/node_modules/@nativescript/types-android/lib/android/android-platform-17.d.ts文件中添加一个常量值来解决此问题,此后我没有收到任何错误。尽管这行得通,但我不喜欢干预node_modules中的文件,并且我确定我不打算这样做,而且每次我执行tns clean && npm install时,我都会再次返回错误。关键是,我不知道为什么要引用platform-17文件,因为我的目标sdk版本是23,因此引用该文件毫无意义。

我正在将Nativesript 7与Angular 10一起用于我的项目,而我的reference.d.ts文件看起来像这样:

/// <reference path="./node_modules/@nativescript/types/index.d.ts" />
/// <reference path="./node_modules/@nativescript/types/ios.d.ts" />
/// <reference path="./node_modules/@nativescript/types/android.d.ts" />
/// <reference path="./node_modules/@nativescript/core/global-types.d.ts" />

1 个答案:

答案 0 :(得分:0)

您可以提供特定的平台类型

/// <reference path="./node_modules/@nativescript/types-android/lib/android-23.d.ts" />