2014-02-24 26 views
0

在我的應用程序中我正在使用全屏佈局,這意味着屏幕超出了屏幕上的按鈕(如nexus設備上的按鈕)。如何指定我的UI元素位於android導航欄上方?

如果我現在將按鈕和其他元素放在佈局的底部,它們會干擾導航欄。

我該如何讓這不會發生?有什麼方法可以指定我的UI元素放在屏幕上方的按鈕上方,同時保持全屏體驗?

回答

0

Android開發人員培訓指南有關how to use Immersive Full-Screen Mode。它隱藏底部系統欄,並允許在該區域使用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; 
} 
+0

這在大多數情況下是不必要的。對於大多數用例,您可以在根佈局上設置'fitsSystemWindows =「true」'。 – kcoppock