0

当离子输入有焦点时,它会显示导航栏。当焦点改变时,导航栏隐藏。这是代码。

在 app.component.ts 中使用

this.androidFullScreen.isImmersiveModeSupported().then(() => this.androidFullScreen.immersiveMode());

在注册页面上,我有 2 个输入字段。单击第一个字段时,离子输入具有焦点并显示底部的导航栏。

已经尝试过 (ionFocus) = "hideNavigationBar()"

hideNavigationBar() {
   this.androidFullScreen.setSystemUiVisibility(AndroidSystemUiFlags.LayoutStable | 
   AndroidSystemUiFlags.LayoutHideNavigation | AndroidSystemUiFlags.HideNavigation);
}

此外,尝试在显示软键盘时隐藏导航栏。

this.keyboard.onKeyboardWillShow().subscribe(()=> { 
this.keyboard.hide();
this.androidFullScreen.setSystemUiVisibility(
          AndroidSystemUiFlags.HideNavigation |
          AndroidSystemUiFlags.LayoutHideNavigation |
          AndroidSystemUiFlags.Immersive |
          AndroidSystemUiFlags.LayoutStable);
});

但是,仍然显示导航栏。有人可以帮忙吗?

4

1 回答 1

1

你可以使用cordova插件来实现。

安装

ionic cordova plugin add cordova-plugin-navigationbar
npm install @ionic-native/navigation-bar

代码端

import { NavigationBar } from '@ionic-native/navigation-bar/ngx';

constructor(private navigationBar: NavigationBar) { }

...

let autoHide: boolean = true;
this.navigationBar.setUp(autoHide);

详细说明在这里。https://ionicframework.com/docs/native/navigation-bar

于 2020-07-27T18:59:20.367 回答