最近项目中使用的是glide加载图片,上线后用户反馈图片模糊,经过测试后发现是用户点击超长图放大的时候,图片变的模糊看不起,这很影响用户的体验,要解决这个问题,我们需要先充分的了解glide的使用。

glide概述

使用习惯glide3的朋友总会觉得glide 4相对于glide 3改动非常大,其实不然。之所以大家会有这种错觉,是因为你将glide 3的用法直接搬到glide 4中去使用,结果ide全面报错,然后大家可能就觉得glide 4的用法完全变掉了。

其实glide 4相对于glide 3的变动并不大,只是你还没有了解它的变动规则而已。一旦你掌握了glide 4的变动规则之后,你会发现大多数glide 3的用法放到glide 4上都还是通用的。

我对glide 4进行了一个大概的研究之后,发现glide 4并不能算是有什么突破性的升级,而更多是一些api工整方面的优化。相比于glide 3的api,glide 4进行了更加科学合理地调整,使得易读性、易写性、可扩展性等方面都有了不错的提升。但如果你已经对glide 3非常熟悉的话,并不是就必须要切换到glide 4上来,因为glide 4上能实现的功能glide 3也都能实现,而且glide 4在性能方面也并没有什么提升。但是对于新接触glide的朋友而言,那就没必要再去学习glide 3了,直接上手glide 4就是最佳的选择了。

glide的使用:

1.添加依赖:

implementation 'com.davemorrissey.labs:subsampling-scale-image-view:3.5.0' 
implementation 'com.github.bumptech.glide:glide:4.5.0'

2.主程序类使用:

public class mainactivity extends appcompatactivity {
 private subsamplingscaleimageview mageview;

 @suppresslint("checkresult")
 @override
 protected void oncreate(bundle savedinstancestate) {
  super.oncreate(savedinstancestate);
  setcontentview(r.layout.activity_main);
  string surl = "https://ss0.bdstatic.com/94ojfd_baact8t7mm9gukt-xh_/timg?image&quality=100&size=b4000_4000&sec=1532588239&di=78b4c6bde1cf9d1df89562241b547e72&src=http://p2.qhimg.com/t011fc13354f12d1a46.jpg";
  mageview = (subsamplingscaleimageview) findviewbyid(r.id.imageview);
  mageview.setminimumscaletype(subsamplingscaleimageview.scale_type_custom);
  mageview.setminscale(1.0f);
  //下载图片保存到本地
  glide.with(this).load(surl).downloadonly(new simpletarget<file>() {
   @override
   public void onresourceready(file resource, glideanimation<? super file> glideanimation) {
    // 将保存的图片地址给subsamplingscaleimageview,这里注意设置imageviewstate设置初始显示比例
    mageview.setimage(imagesource.uri(uri.fromfile(resource)), new imageviewstate(2.0f, new pointf(0, 0), 0));
   }
  });
 }
}

3.主程序xml布局文件

<?xml version="1.0" encoding="utf-8"?>
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:background="#e61b1919">

 <com.davemorrissey.labs.subscaleview.subsamplingscaleimageview
  android:id="@+id/imageview"
  android:layout_width="match_parent"
  android:layout_height="match_parent" />
</linearlayout>

4.添加权限

 <uses-permission android:name="android.permission.internet"/>

5.显示超长图

  glide.with(context).load(url).downloadonly(new simpletarget<file>() {
   @override
   public void onresourceready(file resource, transition<? super file> transition) {
    uri uri = uri.fromfile(resource);
    imageview.setimageuri(uri);
   }
  });

到这里就可以实现加载长图了。

以上就是android如何使用glide加载清晰长图的详细内容,更多关于android 使用glide加载清晰长图的资料请关注www.887551.com其它相关文章!