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

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

Войти
Регистрация
Восстановить пароль
 
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
#1

Отобразить полноэкранную рамку - Программирование Android

24.10.2014, 11:07. Просмотров 465. Ответов 0
Метки нет (Все метки)

Приветствую!
Сначала небольшая предыстория. Я, вообще-то, системщик, на работе пишу в основном системные вещи на C. Но вот встала задача написать кое-что на Android.
Я работаю в компании, которая, в том числе, выпускает мультимедийные приставки. Одна из наших моделей работает под андроидом. Соответственно, я имею доступ ко всем системным фичам (то бишь, могу вносить изменения и в системные приложения и пользоваться системными пакетами).
Была у меня одна задачка где-то с год назад - добавить в настройки пункт меню "Формат экрана", там реализовать выбор разрешения, частоты обновления и скалинг самой картинки. Всё это я успешно реализовал. Но вот сейчас понадобилось реализовать enhancement - при настройке размера картинки (т.е. масштабировании всего экрана) реализовать рамочку по краям экрана, чтобы пользователь видел, где, собственно, этот край находится. И вот тут у меня затык. Я не достаточно хорошо знаю андроид, чтобы такую штуку сделать. Собственно говоря, я даже не могу нормально сформулировать запрос в гугл. Все запросы, которые я пробовал, либо выводят меня на рисование рамочки вокруг конкретного view (например, вокруг ListView), либо на абсурдное "как убрать красную мигающую рамку". Собственно, хотелось бы сделать что-то вроде этой красной рамки, но, боюсь, она рисуется на слишком глубоком уровне; я мог бы залезть и туда, но что-то совсем не хочется этого делать, если есть решения более простые и укладывающиеся в идеологию андроида.
Сама задача: при попадании фокуса на одну из кнопок "Увеличить" или "Уменьшить" рисовать по периметру экрана рамку (вообще, не суть важно какую именно, это может быть сплошная рамка определённой толщины, стрелки по углам или по серединам сторон экрана и т.д.), при уходе фокуса с этих кнопок - скрывать рамку.
Вопрос: куда копать (пока ничего более конкретного сформулировать не могу, практически не имею исходных данных).
Что приходит в голову: при попадании фокуса на соответствующую кнопку отображать на весь экран *нечто* (активити, диалог или что-то ещё) прозрачное, но с рамкой по краям, не перехватывающее фокус и позволяющее работать с элементами интерфейса под ним, при этом не закрывающееся по кнопке "назад", но закрывающееся при уходе фокуса с кнопок. Не знаю, насколько такое решение костыльное, и осуществимо ли оно в таком виде вообще.
Кроме того, возможно, проще будет перенести функционал "Увеличить"/"Уменьшить" в отдельное активити, а в основном экране настроек сделать кнопку "Перейти к регулировке размера", и по нажатии на неё открывать это активити на весь экран. Тогда рамку можно нарисовать прямо на нём (на крайний случай, просто сделать бэкграундом картинку с нужной рамкой). Это решение видится куда более простым, но хотелось бы всё же обойтись без дополнительных элементов и плавно встроить рамку в уже существующий функционал.

Добавлено через 3 часа 25 минут
Так, я научился отображать полноэкранную прозрачную activity с картинками по краям при переходе фокуса на нужную кнопку. Главная проблема - она отбирает фокус. Как бы его вернуть обратно на кнопку, и при этом не закрыть прозрачную activity, и, кроме того, позволить фокусу гулять по элементам нижней рабочей activity?

Не по теме:

Подозреваю, что никак...

Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.10.2014, 11:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Отобразить полноэкранную рамку (Программирование Android):

Как убрать рамку - Программирование Android
Как убрать рамку вокруг тела , которая остается после создания актера bDef=new BodyDef(); ...

Разместить поверх ImageView рамку - Программирование Android
У меня есть некое изображение, ImageView, которое находится по центру экрана. Мне нужно, поместить по верх этого изображения рамку. Рамка...

Можно ли в SeekBar отставить только ползунок, а рамку убрать? - Программирование Android
Скажите пожалуйста,можно в SeekBare отставить только ползунок,а рамку убрать?

Нарисовать рамку. - C++
Пытаюсь нарисовать рамку.Т.е.: ххххххх х-----х х-----х ххххххх У меня получается создать 2 гориз-ые линии через массивы.Но...

Раскрасить рамку - Pascal
Помогите пожалуйста с раскраской рамки. ц)Цвет рамки-зеленый. д)Цвет запроса-светло зеленый. г)Ввод информации-жёлтый. а)Вывод...

Убрать рамку - HTML, CSS
Помогите, рамка не убирается, пример http://jsfiddle.net/wrr0ag1u/6/

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2014, 11:07
Привет! Вот еще темы с ответами:

Убрать рамку - HTML, CSS
Как убрать рамку только у инпут текст?

убрать рамку - HTML, CSS
подскажите как убрать рамку в этом коде.. <CENTER> <INPUT name=s1 size=100 ><br>

Текст в рамку - MS Word
Здарова! есть такая проблема с вставкой текста в рамку, видимо в тексте есть косяк! вот два документа. если сможете помочь, выложите тут...

сделать рамку - ActionScript
сделать рамку при увеличении, чтобы за края не выходила


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

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

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