简介

鸿蒙版glide 是一个快速高效的图像加载库,用于专注于平滑滚动的 openharmony。Glide 提供了一个易于使用的 API、一个高性能和可扩展的资源解码管道和自动资源池。
过多介绍就不说了,既然都到这里基本都认识这家伙了。

用法

鸿蒙版Glide地址:
https://gitee.com/openharmony-tpc/glide
maven依赖:

implementation 'io.openharmony.tpc.thirdlib:glide:1.1.2'

使用

加载图片的种方式:
1,网络图片

Glide.with(classcontext) .load 
                    (String)   
                    .diskCacheStrategy(DiskCacheStrategy.NONE) 
                    .skipMemoryCache(true) 
                    .into( 
imageView) );

2,资源图片

Glide.with(classcontext)
            .load(ResourceId) 
            .diskCacheStrategy(DiskCacheStrategy.NONE)
            .skipMemoryCache(true)
            .into(imageView);

3,Uri

Uri uri =Uri.parse("https://picsum.photos/600");
   Glide.with(classcontext)
        .load(uri)
        .diskCacheStrategy(DiskCacheStrategy.NONE)
        .skipMemoryCache(true)
        .into(imageView);

4,加载Gif,有些特殊
首先需要使用“DraweeView”作为载体
原因:原生图片不支持这个功能,因为 Image 和 Element 是独立的,不能使用 Element 重绘。要支持 GIF,您需要自定义 Image。即:DraweeView,它就是通过自定义的Image。
解释为什么使用DraweeView流程:“Glide.with(this).asGif().load(resId).into(draweeview)” => 加载成功后,“DrawableImageViewTarget.java"将"Elemet"值赋给目标"Image”。(DraweeView)"
代码使用:

 DraweeView image = (DraweeView) findComponentById(ResourceTable.Id_image); 
 Glide.with(this) 
         .asGif( ) .load( "https://img.blog.csdnimg.cn/2019120901303086.gif); 
         .into(image);

加载本地gif也一样

DraweeView image = (DraweeView) findComponentById(ResourceTable.Id_drawview); 
            Glide.with(this) 
                 .asGif( ) 
                 .load (ResourceTable.Media_happygirl); 
                 .into(draweeView);

暂停Glf动画:

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();
   }

5,setScaleType枚举类型

public static enum ScaleMode {
        ZOOM_CENTER,
        ZOOM_START,
        ZOOM_END,
        STRECH,
        CENTER,
        INSIDE,
        CLIP_CENTER;
    }
   // 使用:
    draweeView.setScaleType(ScaleMode .CENTER);

最后

大家多去看看鸿蒙版的源码吧,如果你是鸿蒙开发者的话。还是挺不错的。

点击阅读全文
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐