Android获取状态栏位置(屏幕顶部或底部)

时间:2015-10-19 12:12:44

标签: android

Android设备的状态栏位于屏幕底部。因此,如果我计算绝对位置,包括这些设备上状态栏的高度,布局将被破坏。

有没有办法确定状态栏的位置,如果它位于屏幕底部的顶部?

2 个答案:

答案 0 :(得分:4)

下面的代码适合我。我刚从another question的答案中找到了它。

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

如果此方法的结果为0,则表示状态栏位于底部,否则为

答案 1 :(得分:0)

基本上无法完成。他们的立场是绝对的。你可以隐藏/取消隐藏它们。但是你无法移动它们。但是你可以分开它们:
http://developer.android.com/guide/topics/ui/actionbar.html
然后此链接向您显示如何隐藏/取消隐藏某些栏:
http://developer.android.com/training/system-ui/status.html