Old android live wallpaper
Вращающиеся, анимированные обои.
Клиент Booru с функцией Muzei
Живые обои с минимумом трат батареи.
Пиксельные приключения на обоях.
Установка видео в качестве обоев рабочего стола
Анимированные обои для рабочего стола на любой вкус
Заставьте свой телефон выглядеть по-новому.
Создание своего словаря с обучающей целью.
Живые обои романтической тематики.
Живые обои где вы сможете наблюдать красивую природу.
Неповторимые живые обои которые порадуют вас меняющимися цветами.
Живые обои где вы сможете наблюдать за неспешным движением пузырей по экрану.
Отличные живые обои на андроид, где вы сможете наблюдать картинки Земли из космоса.
Живые обои с многочисленными точками которые образуют связи.
Отличные живые обои которые подарят вам новогоднее настроение.
Живые обои на андроид, где вы сможете наблюдать девушку с бирюзовыми волосами.
Живые обои с изображением масок и противогазов.
Отличные живые обои где вы сможете наблюдать движение ветряных мельниц.
Отличные анимированные живые обои которые подарят вам атмосферу праздника.
Источник
Old android live wallpaper
Вращающиеся, анимированные обои.
Клиент Booru с функцией Muzei
Живые обои с минимумом трат батареи.
Пиксельные приключения на обоях.
Установка видео в качестве обоев рабочего стола
Анимированные обои для рабочего стола на любой вкус
Космические живые обои с шестью забытыми планетами для вашего смартфона на android! Смотрятся очень эффектно, есть настройки освещенности, скорости и других параметров.
Заставьте свой телефон выглядеть по-новому.
Шикарные живые оби для андроид устройств от разработчика Vinwap Games с эффектом Parallax.
Создание своего словаря с обучающей целью.
Устанавливайте любимые изображения в качестве живых обоев на андроид устройства.
Смена времен года, дня и ночи, в удивительных красках и ярких цветах! Дотроньтесь, чтобы сказка ожила.
Красивые и реалистичные живые обои, на которых вечно идет дождь.
Живые обои романтической тематики.
Живые обои с каталогом шейдерных программ на андроид.
Восемь очень впечатляющих галактик! Установите на экран своего любимца живые обои для android и любуйтесь прекрасными шедеврами космоса!
Ёлочка для Андроид. Большое количество настроек, отсчет до наступления праздников: Рождества, Нового года, 14 февраля.
Живые обои где вы сможете наблюдать в своем экране плавающих карпов кои.
Уникальное приложение с видом на Венеру, которое вы можете применить как живые обои для своего рабочего стола.
Источник
Old android live wallpaper
Шикарные живые оби для андроид устройств от разработчика Vinwap Games с эффектом Parallax.
Космические живые обои с шестью забытыми планетами для вашего смартфона на android! Смотрятся очень эффектно, есть настройки освещенности, скорости и других параметров.
Наслаждаемся красивым видом нашей планеты из космоса на своем андроид устройстве!
Смена времен года, дня и ночи, в удивительных красках и ярких цветах! Дотроньтесь, чтобы сказка ожила.
Отличные живые обои морского дна на android. Высокое качество и поддержка как смартфонов так и планшетников.
Очень красивые обои, оформленные в ночном неоновом стиле.
Устанавливайте любимые изображения в качестве живых обоев на андроид устройства.
Суперские живые обои для андроид! Это красивый одуванчик как на S3, при нажатии на который, семена летают. Полный восторг!
Шикарные живые обои, которые перенесут вас в поток астероидов космического пространства.
Великолепие космоса на живых обоях от разработчика от Mozg Labs.
Живые обои для андроид от Mozg Labs. Вы даже себе и представить не могли, что в ваше устройство может вместить в себя всю вселенную.
Восемь очень впечатляющих галактик! Установите на экран своего любимца живые обои для android и любуйтесь прекрасными шедеврами космоса!
Интересные живые обои, которые обязательно понравятся фанатам этого файтинга.
Потрясающие 3D живые обои с космической темой и великолепной графикой от разработчика DualBoot Games.
Настоящий аквариумный мир на живых обоях для вашего андроид устройства от разработчика Rainbow app.
Всем любителям игры в танки посвящаются живые обои от iDmix.
Сочные живые обои для андроид устройств с частичкой живой природы от лучшего разработчика DualBoot Games.
Реалистичные живые обои с рыбками. Возможность смены кораллов, и рыбок, отличная анимация.
Настраиваемое трехмерное торнадо на живых обоях для андроид. Почувствуй себя повелителем стихии.
Человек Паук на живых обоях для андроид устройств с от лучшего разработчика Cellfish Studios.
Источник
Создание Android Live Wallpapers
Мне нужно отображать на экране телефона техническую информацию о его состоянии, точнее, о его состоянии в составе тестового пула. Видеть эту информацию я хочу всегда, то есть на Home screen, и без дополнительных телодвижений.
Способов, которые никак не повлияют на выполнение других приложения, всего два: Widget или Live wallpaper. Я выбрал Live wallpaper, они же «живые обои», потому что они автоматически попадают на все страницы Home screen, и даже на Lock screen. Эта статья содержит практические рекомендации, как создавать «живые обои».
В поисках правды
Документации о «живых обоях» кот наплакал. С момента первого (и единственного) анонса в блоге, случившегося больше 9 лет назад, Гугл не сделал ни одного внятного примера или codelab-а на эту тему. Пришлось разбираться.
Сначала основы. Внутренняя механика Андроида такова, что на устройство мы можем установить только приложение, и устройство всех приложений одинаково. Поскольку «живые обои» — это тоже приложение, то выбор управляющего компонента не велик, и стоит ожидать, что это будет Service. Найти его легко: это WallpaperService.
Экземпляров «живых обоев» может быть несколько, и жизненный цикл у них будет не такой, как у Activity или View. Соответственно, должен быть еще один базовый класс. Это WallpaperService.Engine (и он обязательно inner для WallpaperService!). Если вглядеться, то он окажется таким же поставщиком событий жизненного цикла, как Activity, Service и иже с ними.
Жизненный цикл «живых обоев» выглядит так:
Из этого списка становится понятно, когда можно/нужно перерисовать картинку (либо начать перерисовывать, если у вас анимация), и когда пора прекратить всю активность и не тратить батарейку.
Метод onSurfaceRedrawNeeded() выделяется среди остальных, читайте ниже. Также в помощь есть метод isVisible() (который в Котлине превращается в свойство isVisible ).
Теперь можно собирать этот конструктор. Начну с конца.
Рисуем
Рисовать придется самим на Canvas, никаких layout и inflater нам не будет. Как получить Canvas из SurfaceHolder и как на нем рисовать — за рамками этой статьи, ниже есть простой пример.
Методы жизненного цикла Engine
Все методы жизненного цикла, кроме onSurfaceRedrawNeeded , не требуют немедленной перерисовки. Поэтому хорошим тоном будет перерисовку поставить в очередь.
Обратите внимание на onSurfaceRedrawNeeded, который передает нам вызов одноименного коллбэка SurfaceHolder, который возникает при изменении размера и аналогичных событиях. Этот колбэк позволяет выполнить перерисовку немедленно, не допустив показа пользователю старой (и уже неверной) картинки. Система гарантирует, что пока не произошел возврат из этого метода, вывод на экран будет приостановлен.
Scheduler
Я люблю переопределять Handler, а не гонять в нем Runnable. На мой взгляд, так изящней.
В случае, если у вас анимация или регулярное обновление, то нужно будет сделать регулярную постановку сообщения в очередь (postAtTime() и postDelayed() вам в помощь). Если данные обновляются эпизодически, достаточно для обновления вызвать planRedraw() .
Service & Engine
Собирается эта марешка из Service и Engine вот так:
AndroidManifest и другие заклинания
Заклинаниями в разработке софта я называю то, что невозможно понять, но нужно точно повторить.
В . /app/src/main/res/xml должен лежать XML файл с описанием «живых обоев». Имя этого файла должно быть указано в AndroidManifest (ищите в примере ниже слово foobarwallpaper )
Не потеряйте в описании Service-а permission , meta-data и intent-filter :
Как добавить
«Живые обои» прячутся, поэтом подсказка. Описываю, как это выглядит на моем Samsung.
Для начала long press где-нибудь на Home screen, телефон перейдет в режим настройки рабочих столов, появится иконка Wallpapers.
Нажимаем на иконку Wallpapers, несколько разделов, нам нужен My wallpapers, жмем надпись View all в правом верхнем углу раздела, открывается список во весь экран.
Жмем «три точки» вызова меню, в нем пункт LIve wallpapers (у меня он единственный), появляется список доступных «живых обоев».
Выбираем наши обои, и выбираем «Home and lock screen».
Появится «превью», которое уже отрисовывается нашим приложением (чтобы распознать этот момент, есть метод isPreview()), жмем Set as wallpaper… И ничего не видим, потому что возвращаемся в список доступных обоев.
Жмем «Home» и наслаждаемся.
Причем тут Android Watch?!
Интересное наблюдение по ходу, что Faces в Android Watch сделаны по точно такой же схеме (с точностью, что у них свои базовые классы со своей реализацией): такие же Service + Engine, почти те же метаданные и intent filter для Service в манифесте (в которых слово wallpaper встречается четыре раза:), также надо писать свой шедулер на основе Handler-а.
В базовых классах Watch Faces есть готовый onDraw() , куда передается Canvas, и есть invalidate() для его вызова. Но это не принципиальное различие, а реализованная часть бойлерплейта.
В отличие от Live Wallpaper, для Watch Faces есть примеры, в них можно покопаться (ссылки здесь, в самом начале).
Что получилось
Скриншотики для приложения, которое красит экран в зеленый цвет, имеют мало смысла. Но пара фоток, что на базе этого получилось сделать для боевого стенда, под спойлером.
Стикеры — это оставшаяся система обнаружения проблем предыдущего поколения.
Благодарности
Если бы не эти две статьи, я бы блуждал в потьмах намного дольше. Не представляю себе, как их можно было написать аж в 2010 году при таком качестве документации?!
Источник