Android顯示gif格式圖片的代碼
大家知道,在Android中使用ImageView來顯示gif格式的圖片,我們無法得到gif格式圖片該有的效果,它只會停在第一幀上,而不會繼續。這時只能看到一張靜態的圖片,這里我們可以使用個簡單的方法,即是使用Movie來顯示圖片。
1.在main.xml中添加ImageView,指定一張GIF圖片為背景;
2.MainActivity.java
import android.app.Activity; import android.content.Context; import android.graphics.Canvas; import android.graphics.Movie; import android.os.Bundle; import android.view.View; public class MainActivity extends Activity { private MyCustomView mView; private Movie mMovie; private long mMovieStart; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mView = new MyCustomView(this); setContentView(mView); } // 自定義一個類,繼承View class MyCustomView extends View { public MyCustomView(Context context) { super(context); // 以文件流的方式讀取文件 mMovie = Movie.decodeStream(getResources().openRawResource( R.drawable.my_picture)); } @Override protected void onDraw(Canvas canvas) { long curTime = android.os.SystemClock.uptimeMillis(); // 第一次播放 if (mMovieStart == 0) { mMovieStart = curTime; } if (mMovie != null) { int duration = mMovie.duration(); int relTime = (int) ((curTime - mMovieStart) % duration); mMovie.setTime(relTime); mMovie.draw(canvas, 0, 0); // 強制重繪 invalidate(); } super.onDraw(canvas); } } }
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!