2012-04-17 56 views
0

我正在研究ApiDemos代碼示例,並看到了一個用於激活gif圖像的示例。它工作正常。當我用我自己的gif圖像替換那個gif圖像,即R.drawable.animated_gif時,它會壓縮/扭曲gif圖像並且工作不正常。任何想法? 這裏是MyView的類的onDraw()方法:gif android中的圖像

@Override protected void onDraw(Canvas canvas) { 
      canvas.drawColor(0xFFCCCCCC);       
      long now = android.os.SystemClock.uptimeMillis(); 
      if (mMovieStart == 0) { 
       mMovieStart = now; 
      } 
      if (mMovie != null) { 

       int dur = Math.max(mMovie.duration(), 1); 
       int pos = (int)(now % dur); 
       mMovie.setTime(pos); 
       mMovie.draw(canvas, getWidth() - mMovie.width(), 
          getHeight() - mMovie.height()); 
       invalidate(); 
      } 
} 
+0

http://stackoverflow.com/questions/3660209/android-display-animated-看看這是否有幫助! – m4n07 2012-04-17 15:56:45

回答

0

既然你已經證明了沒有代碼,這是很難的幫助,但是,你有沒有嘗試過:

android:scaledType="centerInside" 

android:scaledType="centerCrop" 

ImageView中的這些屬性?

+0

我已添加代碼。請看看它... – 2012-04-17 15:52:06

0

檢查你的第二個gif名稱。你不應該有空格和 - ,+ ...我早前有同樣的問題,並發現圖像的名稱是造成錯誤

+0

我使用以下從資源中獲取圖像; is = context.getResources()。openRawResource(R.drawable.skeleton); mMovie = Movie.decodeStream(is);動畫被扭曲。 – 2012-04-17 16:16:54

+0

可繪製文件夾中的gif圖像的名稱是什麼?而且有更多人想到,你在代碼中改變了什麼? – Ivica 2012-04-17 16:26:52

+0

是的,我在代碼中進行了更改,但原始ApiDemos和修改的代碼都導致相同的動畫失真。 – 2012-04-17 16:32:30