Android 多窗口支持 : Detecting if status bar is visible?

标签 android multi-window

借助 Android 的多窗口支持,我如何检测状态栏是否可见?例如,在纵向时,如果我是顶部应用程序,状态栏可能可见,但当我是底部应用程序时,状态栏将不可见。现在,我的 View 在底部时很有趣,因为我为不再存在的状态栏腾出了空间。

最佳答案

假设你的意思是系统UI栏,即状态栏这样做:

View decorView = getWindow().getDecorView();

decorView.setOnSystemUiVisibilityChangeListener (new  View.OnSystemUiVisibilityChangeListener() { 
@Override 
public void onSystemUiVisibilityChange(int visibility) {
    // Note that system bars will only be "visible" if none of the 
    // LOW_PROFILE, HIDE_NAVIGATION, or FULLSCREEN flags are set. 
    if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) {
        // TODO: The system bars are visible. Make any desired 
        // adjustments to your UI, such as showing the action bar or 
        // other navigational controls. 
    } else { 
        // TODO: The system bars are NOT visible. Make any desired 
        // adjustments to your UI, such as hiding the action bar or 
        // other navigational controls. 
    } 
} 

});

这直接来自文档: https://developer.android.com/training/system-ui/visibility.html

关于Android 多窗口支持 : Detecting if status bar is visible?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39089182/

相关文章:

android - 在 Android 应用程序中重新启动 Activity 后无法看到 View

android - 如何使用 RecyclerView 创建水平 CardView,一次只在屏幕上显示一张卡片

cocoa - 如何在 Cocoa 多窗口应用程序中使窗口成为事件窗口?

android - 使用百分比填充的 Google Maps API v2 newLatLngBounds 在多窗口模式下抛出错误

在多窗口模式下启动新 Activity 时未调用 Android onStop()

java - 抽屉导航没有折叠,没有汉堡按钮

java - 如何从登录API改造成功的字符串格式获取数据?

Android:更改 View 中的背景选择器资源不会更新

wpf - ALT-TAB 始终激活具有多个拥有窗口的 WPF 应用程序中的主窗口

java - 如何在处理中创建单个草图的多个窗口?