Как поставить анимацию на рабочий стол. Новое приложение для Android позволяет устанавливать «гифки» на рабочий стол Gif на рабочий стол андроид

Кастомизация всегда была сильной стороной операционной системы Android. И с каждым новым обновлением или сторонним приложением возможности кастомизации в мобильной ОС от Google становятся все шире. Например, недавно вышла , которая позволяет устанавливать GIF-анимации на фон рабочего стола.
Внутри приложения анимации именуются как синемаграфы (cinemagraphs), но по сути это просто хорошо зацикленные «гифки» в неплохом качестве. До недавнего времени существовало несколько подобных приложений, но все они были либо неудобными, либо в них не было собственного каталога качественных . LoopWall же предлагает скачать отобранные «гифки» в хорошем качестве из собственного каталога, разделенного на 9 тематических категорий: абстракт, природа, город, анимация, животные, архитектура, еда, космос и другие. Вот пример нескольких GIF-анимаций, которые вы можете найти в местном каталоге:

GIF-анимации по клику


Также пользователь может установить свою «гифку». Программа также позволяет настраивать скорость воспроизведения, положение и фоновый цвет анимации. Бесплатная версия LoopWall ограничена по функционалу, а за полную необходимо заплатить чуть больше доллара. Скачать приложение LoopWall для Android можно на Трешбоксе.

Вы когда нибудь видели красивую GIF анимацию, которая повторяется беспрерывно, и хотели бы поставить такую в качестве живых обоев на ваше устройство, которое работает под Android? Что ж, вы можете это сделать, и в этом уроке, я покажу вам как.

Введение

Чтобы создавать интересные и красивый живые обои с нуля, используя только математику и код, который будет генерировать анимацию, возможно придется много и долго потрудиться. А так же нужно привлечь всю свою креативность. С другой стороны, создать анимированные GIF обои, или найти такие в сети - гораздо проще. В этом уроке, вы узнаете, как конвертировать любоую GIF анимацию в живые обои.

Необходимая первоначальная подготовка

Убедитесь, что у вас установлена последняя версия Android Studio. Вы можете закачать ее с сайта Android Developer .

Хотя можно сделать любую GIF анимацию, я рекомендую вам загрузить хороший синемаграф . Синемаграф - это не что иное, как GIF анимация, которая обычно делается из видео, и плавно зацикливается. Вы можете найти много вариантов на Flickr .

В этом уроке, я использую синемаграф, созданный пользователем Flickr - djandyw.com, так как он распространяется по лицензии Creative Commons.

1. Создайте Новый Проект

Запустите Android Studio, создайте новый проект, и дайте ему название GIFWallpaper . Дайте ему уникальное имя, если вы планируете разместить его на Google Play.

Задайте для minimum SDK - API 8: Android 2.2 (Froyo) .

Нашему приложению не нужен статус Activity , поэтому выбираем Add No Activity и жмем Finish .

2. Описание Обоев

Для живых обоев, нужен файл, который будет их описывать. Создайте новый XML файл res/xml/wallpaper.xml и замените его содержание следующим:

Значения имени (label) и иконки (thumbnail) важны, так как они будут показываться в списке обоев доступных на вашем устройстве.

3. Редактируем Манифес т

Для запуска живых обоев, нашему приложению необходимо прописать одно разрешение - android.permission.BIND_WALLPAPER .

Живые обои запускаются как объект Service , который может принимать значение android.service.wallpaper.WallpaperService в качестве intent action. Назовем Service GIFWallpaperService - и добавим его в манифест проекта - AndroidManifest.xml .

4. Добавляем GIF анимацию

Копируйте загруженную с Flickr GIF анимацию в папку проекта - assets . Я дал ему название girl.gif .

5. Создаем Сервис

Создадим новый Java класс и назовем его GIFWallpaperService.java . Он должен наследовать класс WallpaperService .

Public class GIFWallpaperService extends WallpaperService { }

Поскольку WallpaperService - это абстрактный класс, вы должны переопределить метод onCreateEngine и вернуть экземпляр вашему Engine , который может отрисовать кадры для GIF.

Чтобы использовать анимированный GIF, вы должны сперва конвертировать его в объект Movie . Для этого вы можете использовать метод decodeStream класса Movie . После того как Movie создан, отправьте его как параметр в конструктор Engine .

Вот как должен выглядеть метод onCreateEngine:

@Override public WallpaperService.Engine onCreateEngine() { try { Movie movie = Movie.decodeStream(getResources().getAssets().open("girl.gif")); return new GIFWallpaperEngine(movie); }catch(IOException e){ Log.d("GIF", "Could not load asset"); return null; } }

6. Создаем Engine

Теперь давайте работать над Engine . Создайте класс GIFWallpaperEngine внутри класса GIFWallpaperService , который будет наследовать WallpaperService.Engine .

В этом классе добавим следующие поля:

  • frameDuration: целое число, указывающее длину задержки между перерисовкой анимации. Значение 20, дает нам 50 фреймов в секунду.
  • visible: логическая переменная, которая дает программе знать, когда именно обои видны на дисплее. Это важно, потому что нам не нужно отрисовывать обои, когда их не видно.
  • movie: это анимированный GIFв форме объекта Movie .
  • holder: это отсылка к объекту SurfaceHolder доступному в программе. Он будет инициирован с помощью описания метода onCreate .
  • handler: это объект Handler , который будет использоваться для запуска Runnable , который отвечает за отрисовку обоев.

Ваш класс должен выглядеть таким образом:

Private class GIFWallpaperEngine extends WallpaperService.Engine { private final int frameDuration = 20; private SurfaceHolder holder; private Movie movie; private boolean visible; private Handler handler; public GIFWallpaperEngine(Movie movie) { this.movie = movie; handler = new Handler(); } @Override public void onCreate(SurfaceHolder surfaceHolder) { super.onCreate(surfaceHolder); this.holder = surfaceHolder; } }

Теперь создадим метод под названием draw , который будет отрисовывать содержимое gif файла. Давайте распишем этот метод:

  • Сначала мы проверяем переменную visible на условие true . Если это так, то мы продолжаем.
  • Используем комманду SurfaceHolder"s из метода lockCanvas для создания холста - Canvas , на котором будет отрисовываться наша анимация.
  • Рисуем кадра GIF анимации на Canvas , после масштабирования и позиционирования.
  • После того, как отрисовка завершена, передаем Canvas назад в SurfaceHolder .
  • Обновляем текущий кадр GIF анимации, используя метод setTime объекта Movie .
  • Вызываем метод снова используя handler после ожидания frameDuration в миллисекундах.

Метод draw никогда не будет вызываться непосредственно. Он всегда вызывается через использование объектов Handler и Runnable . Поэтому, двайте создадим объект Runnable и назавем его drawGIF .

Добавьте в класс GIFWallpaperService следующий код:

Private Runnable drawGIF = new Runnable() { public void run() { draw(); } }; private void draw() { if (visible) { Canvas canvas = holder.lockCanvas(); canvas.save(); // Adjust size and position so that // the image looks good on your screen canvas.scale(3f, 3f); movie.draw(canvas, -100, 0); canvas.restore(); holder.unlockCanvasAndPost(canvas); movie.setTime((int) (System.currentTimeMillis() % movie.duration())); handler.removeCallbacks(drawGIF); handler.postDelayed(drawGIF, frameDuration); } }

Метод onVisibilityChanged автоматически вызывается, каждый раз когда будет меняться состояние обоев. Мы должны переписать его, что бы на основе значения аргумента visible , запускать или останавливать drawGIF . Метод removeCallbacks объекта Handler будет использоваться для остановки запущенных обоев drawGIF .

@Override public void onVisibilityChanged(boolean visible) { this.visible = visible; if (visible) { handler.post(drawGIF); } else { handler.removeCallbacks(drawGIF); } }

И наконец, пререпишем метод onDestroy для Engine , который будет останавливать запуск drawGIF , если обои деактивированы.

@Override public void onDestroy() { super.onDestroy(); handler.removeCallbacks(drawGIF); }

7. Скомпилируйте и Установите

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

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

Если GIF выглядить слишком маленьким, или неправильно позиционирован, вернитесь вновь к методу draw и настройте масштаб и положение.

Заключение

Тепере вы знаете, как использовать GIF анимацию, чтобы создать живые обои. Обязательно поэкспериментируюйте с другими вариантами GIF анимации. Если вы захотите выложить свои обои на Google Play, убедитесь, что у вас есть разрешение, от автора, на использование его GIF анимации в коммерческих целях. Зайдите на сайт Android Developer , чтобы узнать больше о классе WallpaperService .

7Fon - это сервис, который поможет вам легко найти красивые обои на фон рабочего стола. Мы собрали здесь более 140 тыс. картинок со всего интернета, каждую мы тщательно проверяем перед добавлением на сайт. Ежедневно на нашем ресурсе появляется более сотни новых обоев. А если мы находим более качественную копию картинки, то мы заменяем её. Все это гарантирует заставки превосходного качества.

Удобство выбора обоев

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

Поиск картинок по цвету - уникальная функция на 7Fon. Для поиска фотографий определенного цвета, кликните по цветному кругу в поисковой стоке вверху страницы. Далее, при помощи удобной палитры выберите нужный оттенок и нажмите «Искать». В результате наш умный алгоритм автоматически подберет обои, в которых этот цвет преобладает. Обязательно воспользуйтесь этим инструментом - мы старались:)

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

Выбор размера заставки и редактирование

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

Еще одна наша фишка, это редактирование фотографии с помощью онлайн-редактора. Слева от кнопки «Скачать», расположена кнопка с палитрой, именно там скрывается этот монстр. По своим возможностям он очень схож с фотошопом - фантазии будет где разгуляться!

Обои на телефон

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

Уверены, 7Fon станет для вас незаменимым, когда вы решите скачать обои на рабочий стол!

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

Для создания gif-анимации создано немало онлайн-сервисов, доступ к которым осуществляется через веб-браузер. Достаточно закачать в специальную форму видео или набор фотографий и сервис сделает все сам. Но есть ли удобные инструменты для создания гифок на смартфоне? Разумеется!

В нашей статье мы рассмотрим самые популярные и удобные утилиты и расскажем, как сделать гифку на Андроиде.

Простое и удобное приложение для создания gif-анимации на смартфоне. В стартовом меню доступны 4 основных пункта:

  1. Создание гифки с нуля
  2. Склейка гифки из фотографии в памяти устройства
  3. Библиотека забавных гифок
  4. Альбом с гифками

Если нужно создать новую гифку, можно войти в первый режим, сделать 3-4 снимка и обработать их в приложении. Создать анимацию можно и из снимков в галерее смартфона. Для этого нужно выбрать минимум два снимка, дождаться, когда приложение сгенерирует их в анимированный ряд, установить количество кадров в секунду и сохранить.

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

Процесс создания гифки на смартфоне Fly Cirrus 12 можно посмотреть в нашем видео:


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

Небольшая инструкция, как сделать гифку на Андроиде из видео в приложении GIF editor - GIF maker:

  • Откройте стартовый экран
  • Нажмите пункт From video
  • Снимите видео или добавьте его из галереи
  • Укажите начальную и конечную точку анимации
  • Дождитесь, когда обработчик создаст гифку

Данное приложение создано для превращения фото и коротких видео в гифки. Благодаря интуитивному управлению и хорошей русификации, приложение осваиваться в считанные минуты.

Основные особенности приложения:

Иллюстрация ниже – это пример гифки, созданной в приложении Gif Me:


Одно из самых мощных приложений для создания гифок на Андроид с использованием фото и видеоисходников. Утилита позволяет сделать качественное анимированное изображение всего за 30 секунд. Для работы с приложением необходимо залогиниться через Facebook, Twitter или электронную почту. После этого пользователь получает доступ к весьма широким возможностям приложения:

Пожалуй, самое простое приложение для создания гифок в нашей подборке. После запуска утилиты пользователь сразу попадает в интерфейс камеры. Здесь можно выбрать камеру для съемки, установить горизонтальный или вертикальный режим и даже включить вспышку.

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

Похожие публикации