+-

如何在React Native中隐藏 Android Navigation Bar?
我指的是屏幕底部的栏,它有软件后退按钮和主页按钮,而不是导航器组件附带的页面顶部的组件.

This page on android.com解释了如何为本机开发人员执行此操作.有人可以通过React Native应用程序解释如何实现这一目标吗?谢谢.
最佳答案
如果您希望永久实现此目标,则必须在创建应用程序时以及重新关注时隐藏Navbar.
为此,请在MainActivity.java中添加:
...
import android.os.Bundle;
import android.view.View;
public class MainActivity extends ReactActivity {
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
hideNavigationBar();
}
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
hideNavigationBar();
}
}
private void hideNavigationBar() {
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
}
}
您可能希望将其设置为“身临其境”,以便用户仍然可以通过从屏幕底部拉出来访问导航栏.
为此,请添加View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY标志:
...
import android.os.Bundle;
import android.view.View;
public class MainActivity extends ReactActivity {
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
hideNavigationBar();
}
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
hideNavigationBar();
}
}
private void hideNavigationBar() {
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
}
}
您可以在android documentation上找到更多选项.
点击查看更多相关文章
转载注明原文:在React Native中隐藏Android导航栏 - 乐贴网