簡體   English   中英

使用AnimationDrawble將URI數組顯示為GIF Android

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM