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其它相關文章!
推薦閱讀:
- Android加載長圖的多種方案分享
- Android中如何使用Glide加載圖像
- Android實現背景圖片輪播
- Android圖片加載庫Glide用法
- Android自定義ViewGroup實現朋友圈九宮格控件