Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
#1

Размер экрана без шапки - Программирование Android

09.08.2013, 05:42. Просмотров 861. Ответов 2
Метки нет (Все метки)

Создаю диалог вручную. Нужно знать точный размер экрана без учета панели с батареей, вай-фаем, связью, иконками...
Как узнать полный размер - знаю:

Java
1
2
3
        Display display = context.getWindowManager().getDefaultDisplay();
        int width  = display.getWidth();
        int height = display.getHeight();
Но как отрезать шапку? Хочу сделать отступ от бортиков МОЕГО приложения в 5 мм, а если кидаю в центр, то либо лезет выше на шапку либо делает слишком большой отступ снизу... Могу задать координаты и размер вручую, но не знаю сколько.

p.s. нужно получить координаты прямоугольника рабочей области, т.к. экран можно развернуть во время работы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.08.2013, 05:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Размер экрана без шапки (Программирование Android):

Как подгонять размер диалоговых окон по размер экрана? - Программирование Android
Здравствуйте! Как подгонять размер диалоговых окон по размер экрана? У меня есть класс, унаследованный от DialogFragment. При запуске...

Физический размер экрана - Программирование Android
Пишу на OpenGL ES DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metrics); Затем...

Узнать доступные координаты (размер экрана) - Программирование Android
Всем привет. Мне нужно в программе сделать случайное перемещение ImageButton, сейчас у меня заданы жесткие координаты которые подобраны...

RecyclerView создает Item на размер экрана, как исправить? - Программирование Android
Аномалии, сменил версию RecyclerView с 21.0.+ на 23.3.0. Теперь он создает 1 элемент на весь размер экрана. Т.е элемент CardView создается...

Как автоматически изменять размер текста в spinner в зависимости от размера экрана? - Программирование Android
Здравствуйте. В программе использую две темы светлую и темную: <style name="BlackTheme" parent="android:style/Theme.Holo"> <item...

Как сделать так, чтобы мобильное приложение автоматически подстраивалось под размер экрана? - Программирование Android
В Android Studio мы же под определенную диагональ создаём приложение (один эмулятор).. Как при разработке сделать так, чтобы мобильное...

2
verylazy
Заблокирован
09.08.2013, 10:24 #2
Java
1
2
3
4
5
6
           int result = 0;
           int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android");
           if (resourceId > 0) {
              result = getResources().getDimensionPixelSize(resourceId);
           }
           System.out.println(result);
У меня работает вот такой код. Вставил в onCreate, сразу после super(); хотя он работает даже если уже спрятан статус бар.
Я сначала с ним игрался, а потом просто посидел - подумал крепко и переделал лейауты так, что бы даже при наличии статус бара все было тип-топ, но это частный случай.
Источник кода http://mrtn.me/blog/2012/03/17/get-t...ar-in-android/
1
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
09.08.2013, 13:37  [ТС] #3
Спасибо! заработало...
А то я нашел только такое:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        int width;
        int height;
        Display display = context.getWindowManager().getDefaultDisplay();
        width  = display.getWidth();
        height = display.getHeight();
 
        int myHeight = 0;
        DisplayMetrics metrics = new DisplayMetrics();
        context.getWindowManager().getDefaultDisplay().getMetrics(metrics);
        int DENSITY = metrics.densityDpi;
        int TH;
        if (DENSITY == DisplayMetrics.DENSITY_HIGH) {TH = 48;} else
        if (DENSITY == DisplayMetrics.DENSITY_MEDIUM) {TH = 32;} else
        if (DENSITY == DisplayMetrics.DENSITY_LOW) {TH = 24;} else
        {TH = 0;}
        height = height - TH;
А это явно не предусматривает все коомбинации...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.08.2013, 13:37
Привет! Вот еще темы с ответами:

Как сделать скриншот экрана без прав Root-а? - Программирование Android
как сделать скриншот всего экрана без использования(getRootView()) без рут прав ??

Размер кнопок, не пойму что влияет на их размер - Программирование Android
Нужно специфичное расположение кнопок, добиваюсь этого вложением множества вертикальных и горизонтальных Layout-ов. В главный (Hor)...

Размер шрифта, размер контролов - Программирование Android
Почему когда делаю TextView.setTextSize(14); на одном устройстве показывает нормально, а на другом показывает в 2 или 3 раза больше?? ...

размер картинки больше чем размер шапки - HTML, CSS
Всем привет!ребята,у меня размер картинки больше чем высота шапки.как мне сделать так чтобы изображение отображалось полностью? т.е как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru