Helpix. Мобильные телефоны
Главная > Софтинки > Окна для Android - XHaloFloatingWindow

XHaloFloatingWindow - Окна для Android

30.07.2015

Приветствую вас, уважаемые читатели и почитатели Helpix!

Наверняка многие из вас начинали своё знакомство с миром компьютеров именно с операционной системы Windows. Так уж в России сложилось исторически. Плохо это или хорошо - немало копий сломано. Но сейчас речь всё-таки не о Билле нашем Гейтсе, а всё-таки об Android.

С пришествием (нашествием, появлением, воцарением - на ваш выбор) на рынок операционных систем Android, мир накрыл бум использования мобильных устройств везде и повсюду. Или не так, а по-другому: Android здесь ни при чём, а виной всему развитие самих мобильных технологий и систем на чипе. И стационарные ПК, а вместе с ними и ноутбуки стали сдавать свои позиции, проигрывая смартфонам и планшетам... ну конечно же, в мобильности. Ещё бы, ведь появилась уникальная возможность положить компьютер в задний карман тесной джинсы! Ура!

И про окна стали забывать. Ведь и такая отличная от Android мобильная Windows также не переняла от старшей сестры "принцип оконности". Я, если честно, даже ностальгирую по окнам. Но не по Windows - мне этого добра на работе хватает. А если отбросить ностальгию в сторону и говорить серьёзно, то иногда не хватает в Android мультиоконности. И разработчики наверное понимают, что я не один такой. Точно знаю, что у Samsung уже есть такая фишка, называется "Несколько окон". И у LG некое подобие окон (на LG G3 S - точно) тоже наблюдал.

Уже некоторое время я пользуюсь модулем GravityBox для Xposed, который позволяет настроить внешний вид и функциональность стокового Android в довольно широких рамках (ни в чём себя не ограничивайте!). Вообще модулей для Xposed неимоверно много, но зачастую они выполняют одну какую-либо функцию, а многие вообще дублируют друг друга. Разработчику GravityBox памятник надо поставить за такой хороший продукт! И вот, перебирая различные (и не очень) модули для Xposed, я наткнулся на плавающие окна Halo - XHaloFloatingWindow. Как выяснилось - это именно они, окна! То есть концепция приложения XHaloFloatingWindow такова: Android-приложения можно запускать в оконном режиме, причём можно менять размер и прозрачность окна, а также перемещать его. Можно вывести на экран одновременно несколько приложений и расположить их либо рядом, либо одно поверх другого. И у каждого окна-приложения можно настроить панель заголовка, в которой будут пиктограммы "свернуть", "на весь экран" и "закрыть".

Отброшенная в сторону ностальгия настойчиво возвращается...

Установка

Приложения XHaloFloatingWindow в магазине Play Google нет. Большинство модулей для Xposed доступно в депозитарии XDA, равно как и описываемая софтинка. Скачиваем APK и устанавливаем. Запускаем Xposed Installer и переходим к модулям. Активируем наш XHaloFloatingWindow. Перезагружаемся.

Всё, на рабочем столе имеем новый ярлык в форме то ли серо-жёлтого кристалла, то ли немного смятого листа цветной бумаги. Может, это так разработчик видит окно под Android?

Лучший опыт - практический опыт

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

Начнём, как полагается, с конца. Последняя форма называется "Тестирование". И это правильно: прежде, чем углубляться в пучину настроек, не мешало бы посмотреть на конечный образец окна. Стоит ли овчинка выделки. На экране "Тестирование" кроме акцентированного зелёным цветом сообщения о том, что модуль активирован, есть несколько кнопок. Нажимаем кнопку "Запустить в окне Xposed Installer".

Ура! Поверх софтинки XHaloFloatingWindow запустился Xposed. Запустился в окне! Правда, окно получилось неполноценное: размеры не меняются, панели (строки) заголовка нет, перемещать окно по экрану не получается. Пучина настроек нас всё-таки ждёт.

Вторая кнопка "Запустить в окне Настройки" в таком же куцем окошке запускает меню основных настроек Android.

Кнопка "Посетить ветку на XDA" отправляет нас в пешее путешествие на форум XDA на страницу героя отзыва.

А вот теперь переходим к первой форме, названной "Основные настройки".

Приложение без настроек вызывает недоверие...

Ну что же, пример окна под Android мы увидели. Вопрос: как запустить своё приложение в оконном режиме. Тут не всё так просто. После установки софтинки и активации её же в Xposed ни одного окна, кроме тестовых, мы не увидим. В контекстном меню ярлыков (по длинному тапу, конечно, а чуть не написал по клику правой кнопки мыши) ничего похожего нет, из списка приложений последние запускаются в обычном же полноэкранном режиме. Что делать?

А делать надо следующее. Первая мысль про контекстное меню была верной, только не в том месте и не в то время я смотрел. Сначала необходимо в основных настройках перейти в пункт "Моды SystemUI".

Эх, люблю такие настройки - каждый пункт имеет комментарий, слишком сильно мозг морщить не приходится. Итак, становится ясно, что приложения в оконном режиме можно запускать либо из недавних, либо из панели уведомлений. И именно с помощью опции "Открыть в окне" при длинном нажатии на приложение (его значок или ярлык). Отмечаем следующие пункты:

  • Длинное нажатие в уведомлениях;
  • Быстрые настройки в окне;
  • Длинное нажатие в недавних;
  • Предотвращать переход домашнего экрана.
  • Если для вас оконный режим более предпочтителен, чем полноэкранный, то отмечайте ещё и пункт "Одно нажатие в уведомлениях". В этом случае у вас приложение из панели уведомлений по умолчанию будет запускаться в окне, а по длинному тапу будет доступна опция "Открыть нормально".

    Ну и для применения отмеченных пунктов настроек необходимо перезапустить пользовательский интерфейс. Тапаем на "Перезапустить SystemUI" и "Ok". Вот здесь-то и нашлась закопанная собака в виде необходимости рута.

    И сразу эксперимент: открываем "недавние" приложения и длинный (долгий) тап на, к примеру, читалке. Да, определённый результат есть. Появился пункт "Открыть в окне". Выбираем его и получаем оконный Moon Reader.

    Правда, при переходе к чтению выбранной книги, читалка всё равно разворачивается на весь экран. И ещё один факт из жизни XHaloFloatingWindow: при запуске некоторого приложения из списка недавних это приложение из этого списка удаляется.

    Но! Есть другой вариант запуска приложений в оконном режиме. Это панель уведомлений. В основных настройках XHaloFloatingWindow ищем пункт "Панель задач в статусбаре".

    Здесь прежде всего необходимо переключатель "Панель запуска" установить в положение ВКЛ. Активируются остальные настройки, а именно:

  • Показать запущенные приложения;
  • Hide Icon;
  • Максимальное количество приложений;
  • Закреплённые приложения.
  • Пункт "Перезапустить SystemUI" нам уже знаком и всегда активен вне зависимости от положения переключателя.

    А теперь подробнее. "Показать запущенные приложения" - это аналог списка недавних приложений, то есть "недавние оконнорежимные". Мне эта настройка очень не понравилась. Идея хорошая, но реализация... По крайней мере, на моём телефоне и на моей прошивке приложения из этого списка запускались не все, да к тому же в этот список постоянно попадают ненужные мне приложения: само XHaloFloatingWindow, затем настройки лаунчера (Nova), приложение Контакты. Эти три приложения есть всегда, причём настройки лаунчера не запускаются (ни нормально, ни в окне), а Контакты параллельно запускают настройки SIM-карт.

    Бывают и другие приложения в этом списке: некоторые без проблем открываются в окне, некоторые вообще не открываются никак. То есть непонятно: вроде бы и копия "недавних", но какая-то неполная и дополненная системными приложениями, например частенько появляется "Графический интерфейс системы" (он-то здесь зачем?). В общем, корявая это штука - Панель задач в статусбаре.

    Но есть одно "но". Здесь же, в настройках панели задач в статусбаре, можно выбрать приложения, ярлыки которых будут отображаться всегда. Это пункт "Закреплённые приложения". А в настройке "Максимальное количество приложений" можно указать количество возможных ярлыков для обеих панелей (от 1 до 15).

    Добавляются приложения просто: нажимаем в шапке "плюсик" и из списка всех приложений, установленных в системе, выбираем нужные. По одному, так как мультивыбора нет. И снова неудобство: лично у меня в портретной ориентации экрана в панели задач помещается в один ряд только шесть ярлыков. Второго ряда не образуется. Прокрутки нет, седьмой ярлык просто обрезается, а восьмого и следующих просто не видно. Недоработка, господа разработчики! Отключаем "недавние оконнорежимные", чтобы не было двух панелей, и пользуемся шестью (в моём случае) нужными нам ярлыками. Вот это уже удобно.

    Правда, при запуске из панели задач панель уведомлений не скрывается, а окно запускаемого приложения появляется под ней (под панелью уведомлений). Можно запустить все шесть окон-приложений и только потом закрыть шторку уведомлений. Неоднозначное какое-то свойство панели задач. Кому-то может быть удобным, кому-то нет.

    И последнее, что настраивается в панели задач в статусбаре, - это значок самого приложения XHaloFloatingWindow в строке состояния. Почему-то эта настройка не переведена на русский и звучит как "Hide Icon". Подсказка тоже на аглицком. И работает немного кривовато: скрывать-то значок скрывает (белый круг с серой заливкой), но место для него остаётся пустым, то есть он просто становится невидимым.

    Всё возвращается на круги своя...

    И снова вернёмся к основным настройкам. Оставшиеся не рассмотренными настройки ("Всплывающее окно", "Размер всплывающего окна" и "Свойства") отвечают за внешний вид и поведение самого окна независимо от приложения.

    Подробнее остановлюсь на пункте "Свойства", здесь есть интересные настройки.

    • Приостановка приложения - при активации этого переключателя работа приложения под всплывающим окном будет приостановлена;
    • Режим клавиатуры - в этой настройке можно задать варианты отображения клавиатуры: будет ли она масштабироваться в размеры окна или располагаться поверх окна на своём привычном месте. У меня независимо от выбранного варианта клавиатура располагается только поверх окна;
    • Отключить автозакрытие - при активации этой настройки окно не закрывается (как оно того хочет) при выключении экрана или нажатии кнопки "Домой";
    • Показывать в недавних и Принудительно показывать в недавних - помните, что запущенное в окне приложение исчезает из списка недавних? Так вот, отмечаем "Показывать в недавних", и никуда оно не денется. А если норовит опять спрятаться, то ещё и "Принудительно..." отмечаем. "Моего телефона" принуждать не пришлось, всё понял с первого раза (с первой настройки);
    • Принудительно запускать новые в окне - то есть если вы открыли камеру в окне, потом закрыли и открываете снова в обычном режиме - она снова откроется в окне;
    • Приложения белого списка и Приложения черного списка - это список приложений, которые будут и, соответственно, не будут запускаться в форточном, простите, оконном режиме;
    • Опции белого/чёрного списков - различные варианты использования белого и чёрного списков.

    Движение - жизнь!

    "Ну и где же обещанная строка заголовка с кнопками и возможность перемещения окна по всему экрану?" - спросите вы. "Здесь!" - отвечу я вам и перейду на форму "Перемещение и изменение размеров". Самый главный переключатель ставим в положение ВКЛ и получаем возможность и перемещать и менять размеры.

    Начнём со строки заголовка, здесь она называется панелью заголовка. По тапу на "Настройки панели заголовка" открывается вот такое окно с настройками:

    Даже ничего здесь не настраивая, уже получаем окно вот с такой панелью заголовка:

    И даже кнопки в заголовке уже есть, кроме самого названия приложения! Что же это за кнопки и что они могут? Сейчас мы с вами это и узнаем.

    Самая левая кнопка - в форме птички - раскрывает меню прозрачности и положения окна. Прозрачность настраивается от 0 до 100 процентов.

    Остальные четыре пункта ("Сверху", "Снизу", "Слева" и "Справа") определяют положение окна: в верхней половине экрана, нижней, левой или правой. Вот как это выглядит:

    Причём, когда окно в таком "прилепленном" к какой-либо стороне экрана положении, панель заголовка у него пропадает. Но мало этого, так ещё и блокируется перемещение между рабочими столами и блокируется (и скрывается) строка состояния. Зато можно получить вот такое:

    Сверху ColorNote, снизу браузер. И ничего лишнего.

    Остальные кнопки аналогичны таким же кнопкам в Windows: свернуть в панель уведомлений (восстановить можно оттуда же), развернуть на весь экран и закрыть.

    Небольшое замечание (забег вперёд): чтобы окно сворачивалось в панель уведомлений, а не в неизвестность, необходима дополнительная настройка, о которой расскажу позже.

    Ну вот мы прилепили окно к боковой грани экрана или развернули его на весь экран. А как же вернуться к оконному режиму? Обратите внимание на маленький серый треугольник в левом нижнем углу приложения, запущенного в окне. При нажатии на этот треугольник приложение возвращается к оконному режиму; а в оконном режиме, удерживая этот же треугольник, можно менять размеры и положение окна. Так же перетаскивать окно можно и за панель заголовка.

    И даже интересно стало, что же ещё можно настроить в панели заголовка? Ведь за её настройки мы ещё даже не брались.

    Следующей за включением панели заголовка идёт не переведённая настройка "Treat Apps as Single Window". При её активации все окна одного приложения закрываются отдельно. То есть если запустить три окна для приложения Галерея, то все три придётся закрывать отдельно. Если же не активировать эту настройку, то закрыв одно окно Галереи, вы закроете и все остальные.

    Настройка "Размер панели заголовка" задаёт высоту поименованной панели в пикселях. По умолчанию стоит 32, меня это значение устроило.

    Следующие три настройки ("Включить разделительную линию", "Размер разделителя" и "Цвет разделительной линии") отвечают за отображение и настройку линии, отделяющей панель заголовка от самого окна. С разделительной линией удобнее в том случае, если цвет панели заголовка совпадает с цветом окна приложения.

    И ещё три настройки - опять-таки не переведённые:

  • Hide TitleBar when snapped;
  • Hide TitleBar when maximized;
  • Use Alternative Icons.
  • Первая пара настроек скрывает панель заголовка при всяческих телодвижениях окна: разворачивании на весь экран, приклеивании (примагничивании) к сторонам экрана. Третья настройка меняет иконки в панели заголовка, меняя их на какие-то "icons to the older version". Вот одно и то же окно, но сначала с "нормальными" иконками, а потом с альтернативными:

    Дело, в общем-то, вкуса.

    А вот теперь и про перемещение пришло время вспомнить. За перемещение отвечает пункт "Настройки перемещения". Тут настроек-то: раз и закончились. Точнее, три:

  • Сохранять положение окна при запуске;
  • Постоянное положение окна;
  • Разрешить использование верхней панели для перемещения.
  • Названия настроек говорят сами за себя. Первая открывает новое окно того же самого приложения на том же самом месте и того же размера, что и предыдущее окно приложения. Вторая отвечает за изменение размеров и положения одновременно всех окон одного приложения (открыли пять окон браузера, изменили размер одного или переместили его - и все остальные (4) окна тоже изменят размер и переместятся). Третья разрешает использовать панель заголовка или верхнюю область окна (при отсутствии панели заголовка) для перемещения окна.

    Далее идут "Настройки изменения размера". Почему их вынесли в отдельный пункт? Я бы объединил этот пункт с предыдущим.

    Настройка "Режим реального времени" заставляет окна обновлять своё содержимое при перемещении в реальном времени. "Может ухудшиться производительность!" - предупреждает разработчик.

    Переключатель "Захват окна" реализует нечто подобное эффекту Aero Snap в настольной Windows. При подтаскивании (за шкирдак) окна к любому краю экрана, окно изменяет свой размер соответственно этой части экрана. А следующая настройка - "Задержка захвата" - задаёт в миллисекундах задержку перед показом схемы захвата окна.

    Ещё один переключатель "Разделитель" при активации показывает между двумя зафиксированными на левой и правой сторонах экрана разделитель. Разделителем можно двигать границу между двумя этими окнами. Следующая настройка "Split Bar Color" задаёт цвет разделителя.

    При удержании разделителя появляются четыре дополнительных кнопки, с помощью которых можно:

  • поменять окна местами;
  • открыть список выбора окон (если их несколько у одной стороны экрана);
  • сделать размеры окон одинаковыми (установить разделитель ровно посередине);
  • закрыть активное окно.

    И последний здесь переключатель "Переход к следующему приложению" позволяет свайпом (двумя пальцами) переключаться между несколькими окнами, зафиксированными у одной стороны экрана.

    А ещё есть настройки маленького серого треугольника, столь важного в некоторые моменты. Эти настройки так и называются "Настройки треугольника".

    Не буду перечислять эти настройки, а если вкратце, то здесь можно:

  • включить/выключить треугольник;
  • разрешить его использование для изменения размеров и для перетаскивания;
  • задать цвет треугольника, его прозрачность и размер;
  • задать действие на короткое и длинное нажатия.

    Нечто подобное (или совершенно аналогичное) скрывается и под названием "Настройки сектора". Это тот же самый треугольник и с теми же самыми настройками, только в форме сектора, расположенного в правом (а не левом) нижнем углу окна.

    Предпоследний пункт настроек перемещения и изменения размеров - это "Настройки границ".

    Разрешено включать и отключать показ границ окна, задавать цвет и толщину границ. Да большего здесь и не надо.

    Последний пункт - "Прочие настройки". Почему-то все разработчики любят использовать это название.

    "Что это за настройка? Сделать я её сделал, а классифицировать не могу. А, ладно, пусть будет в разделе «Прочие», там её самое место!" - примерно так, наверное, думают разработчики.

    Посмотрим, что разработчик XHaloFloatingWindow посчитал прочим.

    Прежде всего это "Свернуть в статусбар" - показывать окно приложения в панели уведомлений, когда оно свёрнуто. По тапу на свёрнутое окно оно разворачивается.

    И ещё это группа настроек "Оттенок панели заголовка". Здесь включается и отключается использование цвета строки меню приложения для панели заголовка, а ещё настраивается в соответствии с цветом строки меню оттенок границы окна и оттенок треугольника и сектора.

    Вот такие вот настройки, их немало и они в некотором смысле необязательны. Оконность, если можно так выразиться, работает сразу после включения модов. Но для наиболее эффектного и эффективного использования окон с настройками всё же стоит поиграться.

    Окончательные выводы

    Всё-таки окна - это удел настольных ПК.

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

    Или одним глазом смотреть фильм, а другим набивать СМС. Или во время разговора по Skype делать ещё что-то в другом окне. Но с одним "но"! Всё это не на смартфоне, а как минимум на восьмидюймовом планшете.

    На самом деле разработчик ничего принципиально нового для Android не придумал, ведь окна таки используются и в этой ОС. Например, я часто использую окно с регулировками громкости.

    На своих пяти дюймах я, установив XHaloFloatingWindow, поигрался с окнами, с их настройками и понял, что пока у меня нет необходимости в использовании этого модуля для Xposed. Не нужны мне на данном этапе и на данном размере экрана окна.

    А перспективы у приложения XHaloFloatingWindow, стоит признать, есть. Ведь каждый из нас хоть однажды, но сталкивался с ситуацией, когда приходилось регулярно переключаться между двумя (и больше) приложениями; а XHaloFloatingWindow эту ситуацию разрулил бы "на раз-два".

    Есть у приложения и глюки (недоработки).

    На моём, по крайней мере, устройстве клавиатура ни разу не открылась в окне, всегда - поверх окна, независимо от настроек.

    Ещё я так и не смог запустить несколько экземпляров одного приложения (любого).

    Серьёзных зависаний приложений в оконном режиме не было, но пару раз на 5-8 секунд приложение (браузер с белкой) переставало реагировать на действия пользователя (мои действия).

    Опять же, коснусь зависимости от размера экрана. Чтобы изменить окно экрана, необходимо попасть по маленькому треугольничку или сектору. Это довольно трудно для моих пальцев. А делать треугольник большим - закроет много нужного. А вот на большом экране и треугольник был бы больше.

    В целом, "чисто гипотетически" и потенциально - 8 баллов из 10.

    P.S. Представляю себе наше будущее (может, даже и не особо отдалённое): компьютер под управлением искусственного интеллекта и размером с маленькую песчинку использует для связи с пользователем мысленный интерфейс и выдаёт мощности, даже не сравнимые с этими древними Pentium и AMD. И вот просыпается некий человек (может быть, мой праправнук) одним добрым и ясным утром (в какой-нибудь супертехнологичной кровати), потягивается и обращается к персональному компу: "Какие новости?" - а ему в ответ: "Найдено новое интересное приложение, может быть интересным для тебя!" И весь мысленный Xd-интерфейс (вместо X можно поставить любое многозначное число) сворачивается перед мысленным взором ошарашенного человека в банальное двухмерное окно с кнопками "свернуть" и "закрыть"! Праправнук в шоке! Что это?! А комп: "Это окно. Твои предки использовали его для отображения информации..."

    Evgeny

    Используемое автором устройство: Lenovo P780

    Сказать спасибо автору: 
        Поделиться:      
    Конкурс! Расскажи о гаджете (смартфон, планшете и т.д.) и выиграй Archos 101b Oxygen!
    Конкурс! Расскажи о мобильной софтинке или игрушке и выиграй Geotel Note!
  • mg
    Рейтинг@Mail.ru