在我的應用程序中我正在使用全屏佈局,這意味着屏幕超出了屏幕上的按鈕(如nexus設備上的按鈕)。如何指定我的UI元素位於android導航欄上方?
如果我現在將按鈕和其他元素放在佈局的底部,它們會干擾導航欄。
我該如何讓這不會發生?有什麼方法可以指定我的UI元素放在屏幕上方的按鈕上方,同時保持全屏體驗?
在我的應用程序中我正在使用全屏佈局,這意味着屏幕超出了屏幕上的按鈕(如nexus設備上的按鈕)。如何指定我的UI元素位於android導航欄上方?
如果我現在將按鈕和其他元素放在佈局的底部,它們會干擾導航欄。
我該如何讓這不會發生?有什麼方法可以指定我的UI元素放在屏幕上方的按鈕上方,同時保持全屏體驗?
正如Translucent System Bars注意到,您可以添加android:fitsSystemWindows="true"
(documentation),以確保這些元素不會放置在系統導航領域。
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;
}
這在大多數情況下是不必要的。對於大多數用例,您可以在根佈局上設置'fitsSystemWindows =「true」'。 – kcoppock
但是我失去了全屏體驗。現在導航欄後面沒有任何東西 – user2426316