1. 程式人生 > >Android 載入長圖

Android 載入長圖

後臺返回的圖片是長圖,長度超過手機長度,我不行剪裁,於是在網上找了一些資料,在這裡我吧這些分享出來,希望能幫助需要幫助的人。直接說明了:

1: 在build.gradle的dependencies裡寫上

implementation 'com.davemorrissey.labs:subsampling-scale-image-view:3.10.0'這個依賴

2:在xml里布局裡寫佈局檔案

<com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/iv_xiangqing1" android:layout_width="match_parent" android:layout_height="wrap_content"> </com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView>

3:我在下面的程式碼是載入單張圖片

在xml檔案裡直接

<com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView
    android:id="@+id/iv_xiangqing"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:adjustViewBounds="true"
    android:scaleType="centerCrop"
   />

在賦值區

RequestOptions myOptions = new RequestOptions();
Glide
        .with(mContext)
        .asFile()
        .load(data.data.detail.picture)
        .apply(myOptions)
        .into(new SimpleTarget<File>() {
            @Override
            public void onResourceReady(File resource, Transition<? super File> transition) {
                ivXiangqing.setImage(ImageSource.uri(Uri.fromFile(resource)));
            }
        });

load是載入圖片的連結

4:我在這裡是用 Glide載入版本號是4.3.1的,Glide在4.0版本做了一些更新,還是看程式碼吧,我在下面的程式碼是載入多張圖片在

Adapter做的賦值處理
RequestOptions myOptions = new RequestOptions();
Glide
        .with(mContext)
        .asFile()
        .load(banabeanlist.get(position).picture)
        .apply(myOptions)
        .into(new SimpleTarget<File>() {
            @Override
            public void onResourceReady(File resource, Transition<? super File> transition) {
                (holder).ivxiangqing.setImage(ImageSource.uri(Uri.fromFile(resource)));
                (holder).ivxiangqing.setZoomEnabled(false);
                if ((holder).ivxiangqing.isReady()) {
                    float maxScale = ((MyHolder) holder).ivxiangqing.getMaxScale();
                    PointF center = new PointF(((MyHolder) holder).ivxiangqing.getSWidth(), 0);
                    (holder).ivxiangqing.setScaleAndCenter(maxScale, center);
                }
            }
        });

在Activity的佈局檔案中

<android.support.v7.widget.RecyclerView
    android:id="@+id/recyclerview"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
 ></android.support.v7.widget.RecyclerView>

如果你的Activity還有別的資訊最外層巢狀ScrollView就可以了 ,在這裡我就不多說了

好了 這樣操作Android載入長圖就可以

相關推薦

Android 載入

後臺返回的圖片是長圖,長度超過手機長度,我不行剪裁,於是在網上找了一些資料,在這裡我吧這些分享出來,希望能幫助需要幫助的人。直接說明了: 1: 在build.gradle的dependencies裡寫上 implementation 'com.davemorrissey.

Android載入超長(微博

對於一些需要載入超長圖需求的同學,可能一開始使用使用bitmap或者inputstream轉bitmap(或類似載入庫)會發現出現圖片太大載入不出來的問題(其實我也是遇到了這個問題ヽ(≧Д≦)ノ)。解決問題的思路可以參考Coding_the_world封裝自己的庫(然而我

subsampling-scale-image-view載入原始碼分析(二)

subsampling-scale-image-view原始碼分析概要分析總結 概要 subsampling-scale-image-view是一個支援部分載入大圖長圖的圖片庫,並且還支援縮放,在subsampling-scale-image-view載入長圖原

subsampling-scale-image-view載入原始碼分析

subsampling-scale-image-view原始碼分析背景介紹使用原始碼分析總結參考 背景 對於安卓開發人員,最頭疼的問題就是記憶體問題了,而記憶體問題又當屬bitmap最頭疼,雖然說現在市面上已經有越來越多成熟的圖片載入框架,像Fresco,Gli

Android載入——BitmapRegionDecoder

一、前言 在Android開發中,載入圖片是很常見的情況,我們一般選擇傳統的載入圖片框架如universalimageloader,picasso,fresco等。最近群裡有個朋友說,面試遇到一個面試官說載入巨圖怎麼解決,就是一個圖片很大,比如清明上河圖,世界

Android三種方式載入Image標籤(商品

        最近做商城專案,商品詳情頁是一張長圖,後臺返回的商品圖片資料是一個image標籤,剛開始想h5實現比較方便,由於專案很趕,大家都有各自的任務,於是自己研究,實現了載入長圖,剛開始使用的是textview載入html的方式,發現圖片載入好後沒有顯示出來,回頭一想

android生成分享而且加入全水印

.com rac getline script print dcl ble except tex 尊重他人的勞動成果。轉載請標明出處:http://blog.csdn.net/gengqiquan/article/details/65938021。 本文

Android WebView擷取所有內容生成在5.0以上系統異常問題

最近在做webview擷取所有內容生成長圖時出現一些問題,在Android5.0以下系統能正常生成長圖,但是在5.0以上會出現只能擷取第一屏的內容,剩下的全部為空白,檢視資料發現原來是系統在5.0+版本上,Android對webview做了優化,為了減少記憶體佔用以提高效能,因此在預設情況下會智慧的

Android實現儲存圖片,佈局(webView等)

最近開發遇到一個問題,分享的時候 需要分享一個佈局內容,但是要用圖片分享的格式,最開始思考感覺不可能實現,手機上很少有功能可以實現長圖儲存的, 可是經理說,髮長微博的時候就是自動儲存的長圖片,頓時傻眼了,人家是怎麼做的呢??? 本已經放棄該功能,可這麼一說,又開始在網上找,並沒有很明確的找到

android arcgis(100.0.0) 載入網路

arcgis版本:arcgis-android:100.0.0 載入線上地圖: 1.是使用ArcGISMapImageLayer載入,以圖片形式載入整個地圖,適合大資料量載入 ArcGISMapImageLayer layer = new ArcGISMapImageLayer(

一天學會ArcGIS Android開發——離線載入載入座標點和線符號

我都研三了,發現自己現在什麼雜活都幹,這讓我感到非常的絕望。我多麼希望自己在某方面是專家,精通某一門語言,然而事實是殘酷的,以至於我很後悔讀了研究生,全跑外面幹雜活了,我畢業還能找到工作嗎??? 1.所有API,SDK的學習都是從閱讀官方的開發文件開始的。。。。 我沒

Android高效載入、多解決方案,有效避免程式OOM

本篇文章主要內容來自於Android Doc,我翻譯之後又做了些加工,英文好的朋友也可以直接去讀原文。高效載入大圖片我們在編寫Android程式的時候經常要用到許多圖片,不同圖片總是會有不同的形狀、不同的大小,但在大多數情況下,這些圖片都會大於我們程式所需要的大小。比如說系統

Android實現截和截功能的幾種方法

一般情況下各種型號的手機都會有自帶的截圖功能,也會有諸如“開關機鍵+音量鍵”的截圖快捷鍵,只要手機是亮屏狀態,都會將手機螢幕的可視區域(包含狀態列)全部擷取下來。如果開發中想要調取系統的截圖功能,理論上講是可以的,需要在APK中呼叫“adb shell screencap -

android 視訊的縮 快取機制和 非同步載入

在這次的工作開發專案中,涉及到一個視訊縮圖的視訊列表;這個在大家看來,製作視訊縮圖就是兩行程式碼就搞定的事。確實是這樣的,百度一下,每個帖子都知道製作視訊縮圖的方法,在這裡確實也是一樣的,但是我要實現的是讓縮圖 在ListView上顯示,而且不會出現卡頓,其實也

Android DrawableAnimation逐幀動畫載入(OOM的解決)

想做一個逐幀動畫,用了一百來張圖片,結果記憶體溢位了,找了半天最後算是解決了。 本來是在drawable裡面寫一個animation-list,設定ImageView的backgroud, 然後在Activity裡面animationDrawable = (Animatio

Android高效載入、多解決方案,有效避免程式OOM .

高效載入大圖片 我們在編寫Android程式的時候經常要用到許多圖片,不同圖片總是會有不同的形狀、不同的大小,但在大多數情況下,這些圖片都會大於我們程式所需要的大小。比如說系統圖片庫裡展示的圖片大都是用手機攝像頭拍出來的,這些圖片的解析度會比我們手機螢幕的解析度高得多。大家應該知道,我們編寫的應用程式都

Android圖片方案之 高清載入 拒絕壓縮圖片

文章轉載自鴻洋大神部落格   http://blog.csdn.net/lmj623565791/article/details/49300989 一、概述 距離上一篇部落格有段時間沒更新了,主要是最近有些私事導致的,那麼就先來一篇簡單一點的部落格脈動回來。 對於

Android 開發問題 —— 載入、多後程序OOM

高效載入大圖片 我們在編寫Android程式的時候經常要用到許多圖片,不同圖片總是會有不同的形狀、不同的大小,但在大多數情況下,這些圖片都會大於我們程式所需要的大小。比如說系統圖片庫裡展示的圖片大都是用手機攝像頭拍出來的,這些圖片的解析度會比我們手機螢幕的

Android 高清載入方案 拒絕壓縮圖片 避免oom

一、概述 距離上一篇部落格有段時間沒更新了,主要是最近有些私事導致的,那麼就先來一篇簡單一點的部落格脈動回來。 對於載入圖片,大家都不陌生,一般為了儘可能避免OOM都會按照如下做法: 對於圖片顯示:根據需要顯示圖片控制元件的大小對圖片進行壓縮顯示。如果圖片數量非常多:則會使

Android 高清載入方案

一、概述 距離上一篇部落格有段時間沒更新了,主要是最近有些私事導致的,那麼就先來一篇簡單一點的部落格脈動回來。 對於載入圖片,大家都不陌生,一般為了儘可能避免OOM都會按照如下做法: 對於圖片顯示:根據需要顯示圖片控制元件的大小對圖片進行壓縮顯示。如果圖片數