2013-05-19 78 views
3

我正在使用通用圖像加載器庫從互聯網上下載我的圖像。加載之前獲取圖像寬度和高度

是否可以在加載它們之前獲取圖像大小以將我的佈局設置爲期望值?

類似inJustDecodeBounds屬性,任何想法?

+0

你是否建議你想在圖像的尺寸被加載之前得到圖像的尺寸? – angelsl

+0

@angelsl是的,但這不是一個建議,這是一個問題! – iSun

+0

你打算怎麼做?我剛剛瀏覽過圖書館,我不認爲它支持在圖片的頭部完全加載之前解析圖片以獲取尺寸。 – angelsl

回答

3

從文檔中引用@https://github.com/nostra13/Android-Universal-Image-Loader

UIL如何定義所需的確切ImageView的位圖的大小?它搜索定義的參數?

  1. 獲取實際測量的ImageView的寬度和高度。

  2. 獲取android:layout_width和android:layout_height參數。

  3. 獲取android:maxWidth和/或android:maxHeight參數。

  4. 從配置(memoryCacheExtraOptions(int,int)選項)獲取最大寬度和/或高度參數。

  5. 獲取設備屏幕的寬度和/或高度。

所以要儘量設置的android:layout_width |安卓layout_height的android:maxWidth |安卓:爲ImageView的maxHeight參數,如果你知道它近似的最大尺寸。它將有助於正確計算此視圖所需的位圖大小並節省內存。

在下載圖像之前,您無法獲取圖像高度和寬度。您可以設置圖像視圖的高度和寬度。

0

如果圖像是由自己控制的位置,爲什麼不能有一個XML文件,每個圖像文件名,或者一個唯一的標識符像未來:

<?xml version="1.0"> 
<images> 
    <image filename="image01.png"> 
     <attrs width="400" height="500"/> 
    </image> 
    <image filename="image02.png"> 
     <attrs width="700" height="450"/> 
    </image> 
</images> 

存儲這個文件中的同一位置圖像,並首先下載它。然後通過使用存儲在XML文件中的寬度和高度來設置值。

注意:根據假設他們是您的圖片來回答,如您所說的「我的圖片」。

1

將圖像文件流式傳輸到BitMap對象。然後使用getHeightgetWidth

調整相應的視圖,然後繪製BitMap

相關問題