Выясните, находится ли строка состояния сверху или снизу?
Я пытаюсь выяснить, как я могу определить местоположение строки состояния (вверху или внизу). Я пытался проверитьHierarchyViewer
но нене видеть вид строки состояния.
На самом деле мне нужно выяснить, учитывая контекст, способ вернутьboolean
(true, если бар сверху, false, если нетт - как будто это не такт насамый таблетки). Я написал простое решение, чтобы попытаться выяснить, из строки состояния вверху или внизу, но это не таккажется, помогает
private boolean isStatusBarAtTop(){
if (!(getContext() instanceof Activity)) {
return !getContext().getResources().getBoolean(R.bool.isTablet);
}
Window window = ((Activity) getContext()).getWindow();
if(window == null) {
return !getContext().getResources().getBoolean(R.bool.isTablet);
}
Activity activity = (Activity)getContext();
Rect rect = new Rect();
window.getDecorView().getWindowVisibleDisplayFrame(rect);
View ourView = window.findViewById(Window.ID_ANDROID_CONTENT);
Log.d("Menu","Window Top: "+ ourView.getTop() + ", "+ourView.getBottom()+ ", "+ourView.getLeft()+", "+ourView.getRight());
Log.d("Menu","Decor View Dimensions"+rect.flattenToString());
return ourView.getTop() != 0;
}
И по какой-то причине я получаю следующее в качестве вывода (работает на Nexus 7 Tablet):
D/Menu(1007): Window Top: 0, 0, 0, 0
D/Menu(1007): Decor View Dimensions0 0 800 1216
Что я думаю / делаю неправильно?