Android如何使用Glide加載清晰長圖

最近項目中使用的是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加載清晰長圖的資料請關註WalkonNet其它相關文章!

推薦閱讀: