如何在android中指定位于导航栏上方的ui元素?

如何在android中指定位于导航栏上方的ui元素?,android,user-interface,view,android-fullscreen,Android,User Interface,View,Android Fullscreen,在我的应用程序中,我使用全屏布局,这意味着屏幕超出了屏幕上的按钮(如nexus设备上的按钮) 如果我现在将按钮和其他元素放在布局的底部,它们将干扰导航栏 我怎样才能不让这一切发生?在保持全屏体验的同时,有没有办法指定我的ui元素放在屏幕按钮上方?Android开发者培训有一个指南。它隐藏了底部的系统栏,并允许在该区域中使用ui元素。如果要向上移动按钮,底部系统栏将根据设备屏幕分辨率占据一定数量的像素。下面是一些代码,它将返回条形图占用的像素数,您可以使用该数字移动ui元素 public int

在我的应用程序中,我使用全屏布局,这意味着屏幕超出了屏幕上的按钮(如nexus设备上的按钮)

如果我现在将按钮和其他元素放在布局的底部,它们将干扰导航栏


我怎样才能不让这一切发生?在保持全屏体验的同时,有没有办法指定我的ui元素放在屏幕按钮上方?

Android开发者培训有一个指南。它隐藏了底部的系统栏,并允许在该区域中使用ui元素。如果要向上移动按钮,底部系统栏将根据设备屏幕分辨率占据一定数量的像素。下面是一些代码,它将返回条形图占用的像素数,您可以使用该数字移动ui元素

public int getStatusBarHeight() {
    int result = 0;
    int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android");

    if (resourceId > 0) {
        result = getResources().getDimensionPixelSize(resourceId);
    }
    return result;
}

如中所述,您可以添加android:fitsSystemWindows=“true”()以确保这些元素不会放置在系统导航区域上。

在大多数情况下,这是不必要的。对于大多数用例,您只需在根布局上设置
fitsystemwindows=“true”
,然后我就失去了全屏体验。现在导航栏后面什么也没有了