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

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

Восстановить пароль Регистрация
 
silent_1991
Эксперт C++
4945 / 3021 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
24.10.2014, 11:07     Отобразить полноэкранную рамку #1
Приветствую!
Сначала небольшая предыстория. Я, вообще-то, системщик, на работе пишу в основном системные вещи на 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 OpenGL Как отобразить текст?
Как отобразить модель 3D Max? Android
Отобразить таблицу БД Android
Как отобразить папки, содержащие фотографии? Android
Android Можно ли в SeekBar отставить только ползунок, а рамку убрать?
Android Отобразить местоположение на карте по координатам
Работа в фоне. Отобразить картинку по url Android
Android Как убрать рамку
Как отобразить в WebView сайт Android
Android Разместить поверх ImageView рамку
Android Как отобразить элементы меню

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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