欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Android如何使用Glide加载清晰长图

程序员文章站 2024-01-24 13:31:52
最近项目中使用的是glide加载图片,上线后用户反馈图片模糊,经过测试后发现是用户点击超长图放大的时候,图片变的模糊看不起,这很影响用户的体验,要解决这个问题,我们需要先充分的了解glide的使用。g...

最近项目中使用的是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加载清晰长图的资料请关注其它相关文章!

相关标签: Android Glide