1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/HarmonyOS-tpc-ohos-gif-drawable

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Оhоs-gif-drawable: представления и Drawable для анимированных GIF

Оhоs-gif-drawable — это представления и Drawable, предназначенные для работы с анимированными GIF. Для рендеринга кадров используется Bundled GIFLib через JNI.

Инструкции по использованию

Доступен образец проекта в папке entry/, который содержит примеры кода, демонстрирующие использование классов этого проекта.

Самый простой способ — использовать GifImageView:

<pl.droidsonroids.gif.GifImageView
    ohos:id="$+id:gif"
    ohos:height="90vp"
    ohos:width="90vp"/>

Также можно использовать GifTextView:

<pl.droidsonroids.gif.GifTextView
    ohos:id="$+id:gif1"
    ohos:height="60vp"
    ohos:width="90vp"
    ohos:text_alignment="center"
    ohos:text="Background"/>

GifDrawable можно создать напрямую из различных источников:

  1. Используя RawFileDescriptor:
gifDrawable = new GifDrawable(rawFileDescriptor);
  1. Используя ByteArray:
mbyteArray = getByteArrayFromRawFile("entry/resources/rawfile/anim_flag_chile.gif");
gifDrawable = new GifDrawable(mbyteArray);
  1. Используя ByteBuffer:
gifDrawable = new GifDrawable(mByteBuffer);
  1. Используя Uri:
gifDrawable = new GifDrawable(dataAbilityHelper, uri);
  1. Используя Inputstream:
gifDrawable = new GifDrawable(bufferedInputStream);
  1. Используя File:
gifDrawable = new GifDrawable(file);
  1. Используя FileDescripter:
gifDrawable = new GifDrawable(fd);

Управление анимацией

GifDrawable предоставляет следующие API для управления анимацией:

  • stop() — останавливает анимацию;
  • start() — запускает анимацию;
  • isRunning() — возвращает, работает ли анимация в данный момент;
  • seekToFrameAndGet(index) — переходит к кадру с заданным индексом.

Получение метаданных GIF

Можно получить следующие данные:

  • getLoopCount() — количество циклов;
  • getNumberOfFrames() — количество кадров;
  • getComment() — текст комментария (null, если у GIF нет комментария);
  • getFrameByteCount() — минимальное количество байтов, которое можно использовать для хранения пикселей одного кадра;
  • getAllocationByteCount() — размер (в байтах) выделенной памяти, используемой для хранения пикселей данного GifDrawable;
  • getInputSourceByteCount() — длина (в байтах) исходных данных.

Инструкция по установке

  1. Чтобы использовать модуль ohos-gif-drawable в своём примере приложения, добавьте следующие зависимости:
dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar', '*.har'])
    implementation project(':ohos-gif-drawable')
    testImplementation 'junit:junit:4.13'
    ohosTestImplementation 'com.huawei.ohos.testkit:runner:1.0.0.100'
}
  1. Чтобы использовать ohos-gif-drawable в отдельном приложении, добавьте указанные ниже зависимости и включите «ohos-gif-drawable.har» в папку libs модуля entry:
dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar', '*.har'])
    implementation files('libs/ohos-gif-drawable.har')
}

Добавьте libpl_droidsonroids_gif.so и libc++.so в /libs/arm64-v8a примера в обоих случаях (создайте папку, если её нет).

Добавьте зависимость Relinker и включите её jar/har в libs в обоих случаях:

dependencies {
    implementation files('libs/relinker.har')
}
  1. Чтобы использовать ohos-gif-drawable из удалённого репозитория в отдельном приложении, добавьте следующие зависимости в build.gradle модуля «entry»:
dependencies {
    implementation 'io.openharmony.tpc.thirdlib:Ohos-Gif-Drawable:1.0.0'
}

Добавьте зависимость Relinker в ohos-gif-drawable и включите jar/har в libs:

dependencies {
    implementation 'io.openharmony.tpc.thirdlib:ReLinker:1.0.1'
}

Версия

v1.0.0

Лицензия

MIT License. См. файл LICENSE.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/HarmonyOS-tpc-ohos-gif-drawable.git
git@api.gitlife.ru:oschina-mirror/HarmonyOS-tpc-ohos-gif-drawable.git
oschina-mirror
HarmonyOS-tpc-ohos-gif-drawable
HarmonyOS-tpc-ohos-gif-drawable
master