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.

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

  1. sergio7786

    эх, жаль что скинодельство мне надоело. столько новых возможностей, мммм. наверное буду заставлять себя сделать еще одну обложку

Leave a Reply