Glide — это быстрая и эффективная библиотека загрузки изображений для openharmony, ориентированная на плавную прокрутку. Glide предлагает простое в использовании API, производительный и расширяемый конвейер декодирования ресурсов и автоматическое объединение ресурсов в пул.
Glide поддерживает извлечение, декодирование и отображение видеокадров, изображений и анимированных GIF-файлов. Glide включает гибкое API, которое позволяет разработчикам подключаться практически к любому сетевому стеку. По умолчанию Glide использует собственный стек на основе HttpUrlConnection, но также включает служебные библиотеки для подключения к проекту Volley от Google или библиотеке OkHttp от Square.
Основное внимание Glide уделяется тому, чтобы сделать прокрутку любого списка изображений максимально плавной и быстрой, но Glide также эффективен практически в любом случае, когда вам нужно извлечь, изменить размер и отобразить удалённое изображение.
API Glide использует простое fluent API, которое позволяет пользователям выполнять большинство запросов в одной строке:
Загрузить изображение из Интернета
//String может быть как "https://picsum.photos/600"
Glide.with(classcontext)
.load(String)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.skipMemoryCache(true)
.into(imageView);
Загрузить изображение из папки ресурсов //ResourceId может быть esourceTable.Media_penguins Glide.with(classcontext) .load(ResourceId) .diskCacheStrategy(DiskCacheStrategy.NONE) .skipMemoryCache(true) .into(imageView);
Uri uri =Uri.parse("https://picsum.photos/600"); Glide.with(classcontext) .load(uri) .diskCacheStrategy(DiskCacheStrategy.NONE) .skipMemoryCache(true) .into(imageView);
Uri uri =Uri.parse("dataability:///" + "com.bumptech.glide"+ "/" + ResourceTable.Media_jellyfish); Glide.with(classcontext) .load(uri) .diskCacheStrategy(DiskCacheStrategy.NONE) .skipMemoryCache(true) .into(imageView);
b. загрузить gif с локального диска. DraweeView image = (DraweeView) findComponentById(ResourceTable.Id_drawview); Glide.with(this) .asGif() .load(ResourceTable.Media_happygirl); .into(draweeView);
DraweeView draweeView;
@Override
protected void onStart(Intent intent) {
super.onStart(intent);
super.setUIContent(ResourceTable.Layout_dodo1_slice_layout);
draweeView = (DraweeView) findComponentById(ResourceTable.Id_draweeView);
Glide.with(getApplicationContext())
.asGif()
.load(ResourceTable.Media_happygirl);
.into(draweeView);
}
@Override
protected void onBackground() {
super.onBackground();
draweeView.stopGif();
}
public static enum ScaleMode {
ZOOM_CENTER,
ZOOM_START,
ZOOM_END,
STRECH,
CENTER,
INSIDE,
CLIP_CENTER;
}
b. как использовать
draweeView.setScaleType(mode);
c. как установить режим масштабирования заполнителя (поддерживаются только CENTER, CLIP_CENTER, STRETCH, ZOOM_START, ZOOM_END, ZOOM_CENTER)
Glide.with(classcontext)
.load(uri)
.placeholder(placeholderResourceId)
.fallback(fallbackResourceId)
.error(errorResourceId)
.placeholderScaleMode(placeholderScaleMode) 4. **Важное примечание:**
1. **В настоящее время для использования GIF необходимо использовать DraweeView.**
2. **Если используется контекст с длительным жизненным циклом Glide, например applicationContext, вызовите метод stopGif в DraweeView, когда страница с GIF закончится, чтобы остановить Glide и избежать потери ресурсов.**
3. **Если вы хотите использовать возможность работы с GIF в Glide, нативный образ не поддерживает эту функцию, поскольку Image и Element независимы и не могут быть перерисованы с помощью Element. Чтобы поддерживать GIF, вам нужно настроить Image. Подробнее см. в реализации DraweeView.**
## Инструкция по установке:
Способ 1: Сгенерируйте пакет .har через библиотеку и добавьте пакет .har в папку libs. Добавьте в начальный gradle следующий код: implementation fileTree (dir: 'libs', include: ['.jar', '.har'])
Способ 2: allprojects{ repositories{ mavenCentral() } } implementation 'io.openharmony.tpc.thirdlib:glide:1.1.5'
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )