Вторник, 12.12.2017, 09:17
Поиск
Никнэйм
Сертификат на никнейм Olelucoye, зарегистрирован на Тимофеев Константин Михайлович
Зарегистрируй свой никнейм
Обратная связь
olelucoye.tk@yandex.ru
Реклама AdSense
Реклама
Друзья сайта
  • Лига медицинского права
  • Гостиница "Зай"
  • FAQ по системе
  • Инструкции для uCoz
  • Главная » Статьи » Андроид разработка

    Анимация в Андроид

    Анимацию в Андроид можно разделить на покадровую и анимацию преобразований.

    Покадровая анимация - это просто последовательная смена картинок. Для создания такой последовательности в папке res/anim создаем xml-файл с корневым элементом animation-list (Resource Type нужно установить Drawable).

    Каждый кадр описываем с помощью тега <item>

    <?xml version="1.0" encoding="utf-8"?>
    <animation-list 
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:oneshot="true">
         <item android:drawable="@drawable/frame1" android:duration="100"/>
         <item android:drawable="@drawable/
    frame2" android:duration="100"/>
         <item android:drawable="@drawable/
    frame3" android:duration="100"/>
         <item android:drawable="@drawable/
    frame4" android:duration="100"/>
         <item android:drawable="@drawable/
    frame5" android:duration="100"/>
     </animation-list>

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

    Теперь получившийся xml-файл можно прикрепить как фоновое изображение к элементу макета, например, ImageView.

    ivImage.setBackgroundResource(R.anim.frame_anim);

    Получим из элемента макета объект AnimationDrawable.

    AnimationDrawable animDraw = (AnimationDrawable)ivImage.getBackground();

    Готово. Можем управлять анимацией с помощью методов start() и stop().

    animDraw.start();

    animDraw.stop();

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

    Создаем xml-файл в папке res/anim. Resource Type задаем Tween Animation.

    Корневым элементом выбираем, тот который соответствует нужному нам типу анимации.

    alpha - изменение прозрачности.

    Имеет атрибуты fromAlpha, toAlpha - задают диапазон прозрачности от 0 до 1 числом типа float, в пределах которого будет происходить изменение.

    rotate - поворот.

    Атрибуты fromDegrees, toDegrees -  задают начальный и конечный углы поворота, pivotX, pivotY - задают точку центра поворота в процентах относительно размеров картинки (т.е. 50% - это середина изображения)

    scale - масштабирование.

    Атрибуты fromXScale, toXScale, fromYScale, toYScale - задают начальные и конечные значения масштаба по осям X и Y. Изменяются от 0 до 1, числом типа float. pivotX, pivotY - задают точку центра масштабирования.

    translate - перемещение.

    Атрибуты fromXDelta, toXDelta, fromYDelta, toYDelta - начальные и конечные значения положения изображения. Могут задаваться как в пикселях, так и в процентах

    set - с помощью этого элемента можно комбинировать выше перечисленные виды анимаций.

    Общие параметры для элементов анимации преобразований: duration - задает продолжительность анимации в миллисекундах, startOffset - задержка выполнения анимации в миллисекундах, repeatCount - число повторений анимации, repeatMode - задает поведение анимации при повторе (restart - простой перезапуск, reverse - анимация воспроизводится в обратном порядке)

    В Android SDK есть готовые файлы анимации для слайдинга android.R.anim.slide_out_right и android.R.anim.slide_in_left.

    Запуск анимации в коде происходит таким образом. Получим объект Animation:

    Animation animation = AnimationUtils.loadAnimation(this, R.anim.tween_anim);

    Устанавливаем анимацию для элемента макета:

    ivImage.setAnimation(animation);

    Запускаем анимацию:

    ivImage.startAnimation(animation);

    Можно установить несколько анимаций для одного элемента и запускать нужную в необходимый момент.

    Под спойлером код программы, демонстрирующей разные виды анимаций преобразования.

    Кастомизация элементов управления в Андроид.

    Создание кастомного View-элемента интерфейса.

    Создание виджета-часы с кастомным шрифтом

    Программируем калькулятор на андроид. Урок 1.

    Андроид приложение - Списки.

    Пластилиновый калькулятор для Андроид.

    Будильник для Андроид "Разбуди меня"

    Категория: Андроид разработка | Добавил: Olelucoye (03.03.2015)
    Просмотров: 2248
    | Теги: Tween Animation, FrameAnimation, java, Android, Анимация | Рейтинг: 0.0/0
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Меню сайта
    Категории раздела
    Андроид разработка [23]
    libGDX [24]
    Мои андроид проекты [6]
    Excel [7]
    Железяки [5]
    Скрипты в блокноте [4]
    Разное [1]
    Форма входа
    Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Яндекс Метрика
    Яндекс.Метрика