Android如何使用Glide加載清晰長圖
最近項目中使用的是Glide加載圖片,上線后用戶反饋圖片模糊,經(jīng)過測試后發(fā)現(xiàn)是用戶點擊超長圖放大的時候,圖片變的模糊看不起,這很影響用戶的體驗,要解決這個問題,我們需要先充分的了解Glide的使用。
Glide概述
使用習慣Glide3的朋友總會覺得Glide 4相對于Glide 3改動非常大,其實不然。之所以大家會有這種錯覺,是因為你將Glide 3的用法直接搬到Glide 4中去使用,結(jié)果IDE全面報錯,然后大家可能就覺得Glide 4的用法完全變掉了。
其實Glide 4相對于Glide 3的變動并不大,只是你還沒有了解它的變動規(guī)則而已。一旦你掌握了Glide 4的變動規(guī)則之后,你會發(fā)現(xiàn)大多數(shù)Glide 3的用法放到Glide 4上都還是通用的。
我對Glide 4進行了一個大概的研究之后,發(fā)現(xiàn)Glide 4并不能算是有什么突破性的升級,而更多是一些API工整方面的優(yōu)化。相比于Glide 3的API,Glide 4進行了更加科學合理地調(diào)整,使得易讀性、易寫性、可擴展性等方面都有了不錯的提升。但如果你已經(jīng)對Glide 3非常熟悉的話,并不是就必須要切換到Glide 4上來,因為Glide 4上能實現(xiàn)的功能Glide 3也都能實現(xiàn),而且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,這里注意設(shè)置ImageViewState設(shè)置初始顯示比例 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.添加權(quán)限
<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); } });
到這里就可以實現(xiàn)加載長圖了。
以上就是Android如何使用Glide加載清晰長圖的詳細內(nèi)容,更多關(guān)于Android 使用Glide加載清晰長圖的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
RecyclerView無限循環(huán)效果實現(xiàn)及示例解析
這篇文章主要為大家介紹了RecyclerView無限循環(huán)效果實現(xiàn)及示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03詳解Android Studio中Git的配置及協(xié)同開發(fā)
這篇文章主要介紹了詳解Android Studio中Git的配置及協(xié)同開發(fā),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-03Android TextView(圓?。┻吙蚝捅尘皩嵗斀?/a>
這篇文章主要介紹了 Android TextView(圓弧)邊框和背景實例詳解的相關(guān)資料,這里提供了實現(xiàn)代碼和實現(xiàn)效果圖,需要的朋友可以參考下2016-11-11android的RecyclerView實現(xiàn)拖拽排序和側(cè)滑刪除示例
在平時開發(fā)應(yīng)用的時候,經(jīng)常會遇到列表排序、滑動刪除的需求。這篇文章主要介紹了android的RecyclerView實現(xiàn)拖拽排序和側(cè)滑刪除示例,有興趣的可以了解一下。2017-02-02React Native 實現(xiàn)熱更新并自動簽名打包功能
這篇文章主要介紹了React Native 實現(xiàn)熱更新并自動簽名打包,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04基于Android開發(fā)支持表情的實現(xiàn)詳解
本篇文章是對在Android開發(fā)中支持表情的實現(xiàn)代碼進行了介紹。需要的朋友參考下2013-05-05Android編程實現(xiàn)禁止狀態(tài)欄下拉的方法詳解
這篇文章主要介紹了Android編程實現(xiàn)禁止狀態(tài)欄下拉的方法,結(jié)合實例形式詳細分析了Android狀態(tài)欄操作相關(guān)的函數(shù)、屬性調(diào)用及權(quán)限控制設(shè)置技巧,需要的朋友可以參考下2017-08-08