Подскажите пожалуйста, каким можно получить высоту 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();
}
});
}
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;
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости