Размер системной панели на планшетах Android

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

Ответы на вопрос(3)

https://stackoverflow.com/a/8367739/807499

Это дает полную высоту экрана. Затем вы можете минус размер, заданный DisplayMetrics или размером вашего корневого макета.

оклад очень актуален, но здесь есть ссылка на часть, которая отвечает на ваш вопрос (для всех форм-факторов, включая планшет).

https://youtu.be/_mGDMVRO3iE?t=1093

Это правильный способ получить размеры строки состояния и панели навигации:setOnApplyWindowListener

Надеюсь, это поможет!

// status bar (at the top of the screen on a Nexus device) 
public static int getStatusBarHeight(Context context) {
    Resources resources = context.getResources();
    int resourceId = resources.getIdentifier("status_bar_height", "dimen", "android");
    if (resourceId > 0) {
        return resources.getDimensionPixelSize(resourceId);
    }
    return 0;
}

// navigation bar (at the bottom of the screen on a Nexus device)
public static int getNavigationBarHeight(Context context) {
    Resources resources = context.getResources();
    int resourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android");
    if (resourceId > 0) {
        return resources.getDimensionPixelSize(resourceId);
    }
    return 0;
}
 20 нояб. 2013 г., 21:26
@Frank - Различные значения передаются в качестве первого аргументаgetIdentifier().
 09 февр. 2014 г., 00:08
Очень мило спасибо
 20 нояб. 2013 г., 14:55
оба ваших метода одинаковы

Ваш ответ на вопрос