申明:本部落格無圖無真相,但是我親測可以載入出來,假設出現只能載入一幀的情況,請在布局中加:
| 代碼如下 |
複製代碼 |
android:layerType="software" |
下面是自訂View的代碼:
| 代碼如下 |
複製代碼 |
package cn.zmit.foot.listviewfoot; import android.annotation.SuppressLint; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Movie; import android.os.Handler; import android.os.Message; import android.os.SystemClock; import android.util.AttributeSet; import android.util.Log; import android.view.View; import android.widget.ImageView; import java.io.InputStream; /** * Created by Administrator on 2016/6/15 0015. */ public class MyImageView extends View { private Movie mMovie; public MyImageView(Context context) { super(context,null); } public MyImageView(Context context, AttributeSet attrs) { super(context, attrs); InputStream is = getResources().openRawResource(R.raw.img); mMovie = Movie.decodeStream(is); } long mMovieStart = 0; @Override public void draw(Canvas canvas) { long curTime = android.os.SystemClock.uptimeMillis(); if (mMovieStart == 0) { mMovieStart = curTime; } if (mMovie != null) { int duraction = mMovie.duration(); int relTime = (int) ((curTime - mMovieStart) % duraction); mMovie.setTime(relTime); mMovie.draw(canvas, 0, 0); invalidate(); } super.draw(canvas); } } |