Высота status bar'a

302
28 марта 2017, 11:29

Подскажите пожалуйста, каким можно получить высоту status bar? Мне нужно знать высоту экрана без Toolbar и status bar. Общая высота экрана у меня определяется так:

private void getScreenSize(){
    Point size = new Point();
    WindowManager windowManager = getWindowManager();
    windowManager.getDefaultDisplay().getSize(size);
    int width = size.x;
    int height = size.y;
}

Высота Toolbar так:

private void getHeightToolbar(){
    toolbar.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
        @Override
        public void onGlobalLayout() {
            toolbar.getViewTreeObserver().removeOnGlobalLayoutListener(this);
            toolbarHeight = toolbar.getHeight();
        }
    });
}
Answer 1

Высота статусбара

public static int getStatusBarHeight(Context context) {
    //always 24dp
    int result = 0;
    int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android");
    if (resourceId > 0) {
        result = context.getResources().getDimensionPixelSize(resourceId);
    }
    return result;
}

Высота тулбара

(заданная через атрибут android:height="?actionBarSize")

Надо только иметь в виду, что не всякий контекст подойдёт. ApplicationContext, например, будет 0 возвращать – ЮрийСПб 27 мар в 19:30

public static int getActionBarSize(Context context) {
    //always 56dp
    int result = 0;
    TypedValue tv = new TypedValue();
    if (context.getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true)){
        result = TypedValue.complexToDimensionPixelSize(tv.data, context.getResources().getDisplayMetrics());
    }
    return result;
}
READ ALSO
Как узнать логин и пароль пользователя в Active Directory .

Как узнать логин и пароль пользователя в Active Directory .

Как я могу получить логин и пароль пользователя, который уже есть зареестроватний в LDAPТо есть он должен открыть мою программу(Пишу на JAVA),...

389
Spring Websocket'ы с Jetty сломали mvc тесты

Spring Websocket'ы с Jetty сломали mvc тесты

Включил в свой Spring проект Websoket'ы и стал получать ошибку везде, где использую @WebAppConfigurationНашёл проблему в том, что ServletContext не является ContextHandler

425
Как сделать preloader , кода идет запрос Retroft

Как сделать preloader , кода идет запрос Retroft

Как сделать Preloader, когда идет запрос при использовании библиотеки Retrofit?

283