Dowiedzieć się, czy pasek stanu jest na górze lub na dole?

Próbuję dowiedzieć się, jak mogę określić położenie paska stanu (góra lub dół). Próbowałem sprawdzićHierarchyViewer ale nie widział widoku paska stanu.

Naprawdę to, co muszę zrozumieć, to, biorąc pod uwagę kontekst, sposób na zwrotboolean (prawda, jeśli pasek jest na górze, fałsz, jeśli nie jest - tak jak nie jest włączony)większość tabletki). Napisałem proste rozwiązanie, aby wypróbować i wymodelować pasek stanu na górze lub na dole, ale wydaje się, że nie pomaga:

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;
}

Z jakiegoś powodu otrzymuję następujące dane wyjściowe (uruchomione na tablecie Nexus 7):

D/Menu(1007): Window Top: 0, 0, 0, 0
D/Menu(1007): Decor View Dimensions0 0 800 1216

Co złego myślę / robię?

questionAnswers(3)

yourAnswerToTheQuestion