2015-10-19 140 views
-1

有Android設備的屏幕底部有狀態欄。所以如果我在這些設備上計算包括狀態欄高度在內的絕對位置,佈局將會被破壞。Android獲取狀態欄位置(屏幕頂部或底部)

有沒有一種方法來確定狀態欄的位置,如果它位於屏幕底部的頂部?

+0

嘿,你downvoter!我的問題有什麼問題?照顧emplain? :( –

回答

3

下面的代碼爲我工作。我只是從another question的答案中找到它。

public static int getTopStatusBarHeight(Activity activity) { 
    Rect rect = new Rect(); 
    activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(rect); 
    return rect.top; 
} 

如果此方法的結果是0,則意味着在狀態欄是在底部,和其它。

0

本質上它不能完成。他們的立場是絕對的。你可以隱藏/取消隱藏它們。但你不能移動它們。但是,您可以將它們分割:
http://developer.android.com/guide/topics/ui/actionbar.html
那麼這個鏈接將顯示你如何隱藏/顯示一些酒吧:
http://developer.android.com/training/system-ui/status.html

+0

謝謝你的回答,但是你鏈接的圖只包含顏色的元素名稱,我並不真正瞭解如何讓你獲得狀態欄的位置。 –