Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
silent_1991
Эксперт С++
5011 / 3071 / 271
Регистрация: 11.11.2009
Сообщений: 7,045
Завершенные тесты: 1
1

Отобразить полноэкранную рамку

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

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

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

Не по теме:

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

0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.10.2014, 11:07
Ответы с готовыми решениями:

Как убрать рамку
Как убрать рамку вокруг тела , которая остается после создания актера ...

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

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

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

Нарисовать рамку.
Пытаюсь нарисовать рамку.Т.е.: ххххххх х-----х х-----х ххххххх У меня...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2014, 11:07

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

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

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


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

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

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