Главная » Разработка для Android » Тени, градиенты и фильтры в Android приложении

0

 

PathEffect, MaskFilter, ColorFiIter, Shader и ShadowLayer – атрибуты Paint. Все, что рисуется при помощи Paint, можно нарисовать, воспользовавшись одним или несколькими из этих преобразований. Пять верхних виджетов на рис. 9.5 – образцы нескольких таких эффектов.

На виджетах 1 и 2 показаны тени. В настоящее время тенями управляет метод setShadowLayer. Аргументы – радиус размывания и переносы х и у – определяют видимое расстояние и положение источника света, создающего тень относительно затененного объекта.

Во втором ряду виджетов показаны шейдеры (Shader). В инструментарии Android есть несколько готовых шейдеров. Один из них – LinearGradient – показан на виджетах 3 и 4. Градиент – это плавный переход между оттенками. Им можно пользоваться, например, для того, чтобы немного оживить фон страницы, не прибегая при этом к такому дорогому ресурсу, как битовые карты.

Li nearGradi ent указывается с векторным значением, определяющим направление и скорость смены оттенков, массив цветов, через который будет происходить переход, и режим. Последний аргумент – режим – определяет, что должно произойти, когда одного полного перехода через градиент недостаточно, чтобы покрыть весь закрашенный объект. Например, в виджете 4 длина перехода составляет всего 15 пикселов, а сам рисунок шире 100 пикселов. Используя Shader .Ті leMode. Mi rror, мы заставляем переход повторяться, меняя направление перехода на рисунке. В данном примере сначала создается градиент от голубого к зеленому, длиной 15 пикселов, потом от зеленого к голубому – следующие 15 пикселов, и далее по всему холсту.

Источник: Android. Программирование на Java для нового поколения мобильных устройств

По теме:

  • Комментарии