2015-10-19 138 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

谢谢你的回答,但是你链接的图只包含颜色的元素名称,我并不真正了解如何让你获得状态栏的位置。 –