2011-11-24 37 views
0

不同的屏幕尺寸,我有,在屏幕尺寸的功能以這種方式加載GIF一個gifview類:錯誤與Android的

if((getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_SMALL){ 
     gif = "anim_cerca_ldpi.gif"; 
    }else if((getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_NORMAL){ 
     gif = "anim_cerca_mdpi.gif"; 
    }else{ 
     gif = "anim_cerca_hdpi.gif"; 
    } 

的問題是,我嘗試在GALAXY S II和拍攝圖像anim_cerca_ldpi.gif所以小尺寸的。你能幫我找出可能的錯誤嗎?

回答

0

您不應該在這種情況下以編程方式決定。 (我這樣說是因爲你想用你發佈的代碼實現什麼,也許在其他情況下,你需要一個程序化的選擇)

你有沒有嘗試過把它們放在正確的文件夾中(drawable-hdpi | mdpi | ldpi)? 如果你這樣做,Android操作系統將爲你加載適當的資源。

1

更好的方法是創建res/drawable-ldpi,res/drawable-mdpi等目錄,並將這些文件放在各自的dirs中,名稱爲anim_cerca.gif。然後通過加載資源ID R.drawable.anim_cerca簡單地加載它們。它會自動爲您的設備選擇正確的一個。

PS:你正在檢查的屏幕尺寸,但似乎選擇不同的屏幕密度定義的資源。這些也是不同的事情。

+0

我嘗試使用可繪製的文件夾,但我有gif的問題!如果你看到http://stackoverflow.com/questions/7777315/showing-gif-in-android我創建了一個類來顯示GIF在Android中,它只適用於資產中的文件,而不是可繪製的! – JackTurky