Android如何使用Glide加載清晰長(zhǎng)圖
最近項(xiàng)目中使用的是Glide加載圖片,上線后用戶反饋圖片模糊,經(jīng)過測(cè)試后發(fā)現(xiàn)是用戶點(diǎn)擊超長(zhǎng)圖放大的時(shí)候,圖片變的模糊看不起,這很影響用戶的體驗(yàn),要解決這個(gè)問題,我們需要先充分的了解Glide的使用。
Glide概述
使用習(xí)慣Glide3的朋友總會(huì)覺得Glide 4相對(duì)于Glide 3改動(dòng)非常大,其實(shí)不然。之所以大家會(huì)有這種錯(cuò)覺,是因?yàn)槟銓lide 3的用法直接搬到Glide 4中去使用,結(jié)果IDE全面報(bào)錯(cuò),然后大家可能就覺得Glide 4的用法完全變掉了。
其實(shí)Glide 4相對(duì)于Glide 3的變動(dòng)并不大,只是你還沒有了解它的變動(dòng)規(guī)則而已。一旦你掌握了Glide 4的變動(dòng)規(guī)則之后,你會(huì)發(fā)現(xiàn)大多數(shù)Glide 3的用法放到Glide 4上都還是通用的。
我對(duì)Glide 4進(jìn)行了一個(gè)大概的研究之后,發(fā)現(xiàn)Glide 4并不能算是有什么突破性的升級(jí),而更多是一些API工整方面的優(yōu)化。相比于Glide 3的API,Glide 4進(jìn)行了更加科學(xué)合理地調(diào)整,使得易讀性、易寫性、可擴(kuò)展性等方面都有了不錯(cuò)的提升。但如果你已經(jīng)對(duì)Glide 3非常熟悉的話,并不是就必須要切換到Glide 4上來,因?yàn)镚lide 4上能實(shí)現(xiàn)的功能Glide 3也都能實(shí)現(xiàn),而且Glide 4在性能方面也并沒有什么提升。但是對(duì)于新接觸Glide的朋友而言,那就沒必要再去學(xué)習(xí)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.顯示超長(zhǎng)圖
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);
}
});
到這里就可以實(shí)現(xiàn)加載長(zhǎng)圖了。
以上就是Android如何使用Glide加載清晰長(zhǎng)圖的詳細(xì)內(nèi)容,更多關(guān)于Android 使用Glide加載清晰長(zhǎng)圖的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Android簡(jiǎn)易圖片瀏覽器的實(shí)現(xiàn)
最近做了一個(gè)圖片瀏覽小程序,本文主要介紹了Android簡(jiǎn)易圖片瀏覽器的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03
Android開發(fā)中TextView 實(shí)現(xiàn)右上角跟隨文本動(dòng)態(tài)追加圓形紅點(diǎn)
這篇文章主要介紹了android textview 右上角跟隨文本動(dòng)態(tài)追加圓形紅點(diǎn)的實(shí)例代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11
Android 實(shí)現(xiàn)手機(jī)接通電話后振動(dòng)提示的功能
本文主要介紹Android 實(shí)現(xiàn)手機(jī)接通電話后振動(dòng)提示的功能,這里整理了詳細(xì)的相關(guān)資料,并附有示例代碼,有需要的朋友可以參考下2016-08-08
Android實(shí)現(xiàn)京東首頁(yè)效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)京東首頁(yè)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-05-05
Android中的HTextView庫(kù)實(shí)現(xiàn)TextView動(dòng)畫效果
HTextView是一個(gè)用來給TextView里的文字做各種轉(zhuǎn)換動(dòng)畫的開源庫(kù),不僅提供了多種動(dòng)畫選擇,而且還有重復(fù)字符的位移動(dòng)畫,雖然并沒有多么復(fù)雜,但是它使用的這些典型的設(shè)計(jì)模式以及各種動(dòng)畫的實(shí)現(xiàn)確實(shí)可以從中讓我們學(xué)到不少知識(shí)2023-12-12

