2015-10-19 5 views
-1

В Android-устройстве есть панель состояния внизу экрана. Поэтому, если я считаю абсолютное положение, включая высоту строки состояния на этих устройствах, макет будет разрушен.Android получает позиции в строке состояния (сверху или снизу экрана)

Есть ли способ определить положение строки состояния, если она находится в верхней части экрана?

+0

Эй, вы, водоворот! В чем проблема с моим вопросом? Ухаживать за 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

Благодарим вас за ответ, однако связанная вами фигура содержит только имена элементов для цветов. Я действительно не понимаю, как я мог это сделать, чтобы получить положение строки состояния. –

Смежные вопросы