Skin Engine v3.50: Сервис IsActive. Делаем всплывающую панель.

В AIMP v3.50 Beta 3 появилась возможность создавать всплывающие панели — панель появляется при заходе мыши в какую-то определенную зону, и скрывается — при ее уходе. Такой подход позволяет разгрузить UI — спрятать с глаз редко используемые элементы, но при этом они все равно останутся под руками. Рассмотрим новый функционал на примере скина Tristania.

Шаг 1: подготовка визуальных элементов

В качестве всплывающей панельки в нашем скине будет выступать контейнер MiddlePanel:

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

Здесь есть один нюанс, поскольку панель является элементом фона, то отрисовка ее текстуры будет проходить до отрисовки элементов управления. А это значит, что фон нашей плавающей панели будет рисоваться позади дисплея обложки альбома. Разрешить эту ситуацию можно следующим образом:

  1. Создадим новый элемент — текстовую метку
  2. Расположим ее так, чтобы она занимала все пространство MiddlePanel-и: Обратите внимание, что помимо нулевых привязок с каждой из сторон, нам так же необходимо выставить позицию по оси Z в нуль, чтобы метка рисовалась первой.
  3. Завершающий штрих — назначим текстовой метке текстуру от панели

Теперь, когда визуальная часть нашей всплывающей панели готова, перейдем ко второму шагу — биндингу.

 

Шаг 2: биндинг

Дисплей обложки альбома, ровно как и все, что имеет к нему отношение, расположен на одном общем контейнере — CAD_Container.

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

Обратите внимание на новый сервис IsActive, он показывает, активен ли сейчас контейнер или нет.

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

Результат.

Теперь наша панель будет появляться при наведении курсора мыши в зону расположения дисплея обложки альбома, и прятаться при его уходе из нее.

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

Skin Engine v3.50: Сервис IsActive. Делаем всплывающую панель.: 4 комментария

Добавить комментарий