我试图检查Android导航栏是否存在加载,以便我可以相应地调整布局,有没有人有任何建议?
这是我试图检测的导航栏:

PS我到目前为止所发现的都是'糟糕'的方法来尝试删除吧,我不想这样做.
java layout android android-4.0-ice-cream-sandwich android-4.2-jelly-bean
在Android Q中,用户可以启用全屏手势模式。我想检测设备是否处于全屏手势模式。我在文档中找不到任何内容。如何在运行时以编程方式进行操作?
Java或Kotlin语言的答案可以。
任何官方API或解决方法...
如何检测导航栏的存在并将其隐藏?
在我的onCreate()I调用hideNavigationBar()方法中隐藏导航栏,然后我注册一个监听器以隐藏导航栏,每当用户触摸屏幕上的文档报告的任何位置时它就变得可见.当触摸事件后导航栏变为可见hideNavigationBar()时,侦听器再次调用该方法,但它没有效果,该栏仍然可见.
这是我的onCreated()方法:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
hideNavigationBar();
View decorView = getWindow().getDecorView();
decorView.setOnSystemUiVisibilityChangeListener
(new View.OnSystemUiVisibilityChangeListener() {
@Override
public void onSystemUiVisibilityChange(int visibility) {
if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) {
Toast.makeText(getApplicationContext(), "Visible", Toast.LENGTH_SHORT).show();
hideNavigationBar();
} else {
Toast.makeText(getApplicationContext(), "Not visible", Toast.LENGTH_SHORT).show();
}
}
});
}
Run Code Online (Sandbox Code Playgroud)
这是我的hideNavigationBar()方法:
private void hideNavigationBar() {
Toast.makeText(getApplicationContext(), "hideNavigationBar()", Toast.LENGTH_SHORT).show();
View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
} …Run Code Online (Sandbox Code Playgroud)