![](/img/trans.png)
[英]Show GIF image in fragment ImageView by URL using Glide on Android 7+
[英]Show array of URI as GIF Android using AnimationDrawble
因此,我基本上有一個URI列表,每個列表都有一個.jpeg文件,並且我希望將此列表顯示為GIF文件(不必顯示gif,而僅用於顯示)。
因此,經過研究,我找到了AnimationDrawble對象,將每個URI轉換為Drawable並將其作為框架添加到AnimationDrawable中。
這是我的代碼:
AnimationDrawable ad = new AnimationDrawable();
Drawable[] dr = new Drawable[position+1];
ProgressItem pi;
try {
for (int i = 0; i <= position; i++) {
pi = progress.get(i);
try {
dr[i] = drawableFromUrl(pi.getImage());
} catch (IOException ios) {
Toast.makeText(activity, ios.getMessage(), Toast.LENGTH_SHORT).show();
}
}
}
catch(Exception ex)
{
Toast.makeText(activity, ex.getMessage(), Toast.LENGTH_SHORT).show();
}
Intent i = new Intent(activity,ProgressImage.class);
DataWraper.setItems(dr);
drawableFromUrl:
public Drawable drawableFromUrl(String url) throws IOException {
Bitmap x;
HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
MyDownloadTask mdt = new MyDownloadTask();
try{
mdt.execute(connection);
}
catch(Exception ex)
{
Toast.makeText(activity, ex.getMessage(), Toast.LENGTH_SHORT).show();
}
InputStream input = mdt.getInputStream();
x = BitmapFactory.decodeStream(input);
return new BitmapDrawable(x);
}
實施部分:
Glide.with(this)
.load(ad)
.into(progressImage);
當我嘗試將AnimationDrawble滑入ImageView時,出現以下異常:
java.lang.IllegalArgumentException: Unknown type class android.graphics.drawable.AnimationDrawable.
這讓我感到猶豫,我試圖實現這一目標。 這應該這么復雜嗎?
如果這是正確的方法,那我做錯了什么? 也許還有另一種方法? 我想知道一些細節。 提前致謝!
https://github.com/koral--/android-gif-drawable不知道您是否對任何第三方庫都開放,但是我以前曾將此庫用於gif,因此對我來說效果很好
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.