使用imageview显示Gif图片

来源:互联网 发布:js脚本压缩 编辑:程序博客网 时间:2024/05/29 04:45

步骤1:看一下这个工具类的实例代码:MyGifView.java

<pre name="code" class="java">import android.content.Context;import android.graphics.Canvas;import android.graphics.Movie;import android.util.AttributeSet;import android.view.View; public class MyGifView extends View{private long movieStart;private Movie movie;    //此处必须重写该构造方法public MyGifView(Context context,AttributeSet attributeSet) {super(context,attributeSet);//以文件流(InputStream)读取进gif图片资源movie=Movie.decodeStream(getResources().openRawResource(R.drawable.keyboard));} @Overrideprotected void onDraw(Canvas canvas) {long curTime=android.os.SystemClock.uptimeMillis();//第一次播放if (movieStart == 0) {movieStart = curTime;}if (movie != null) {int duraction = movie.duration();int relTime = (int) ((curTime-movieStart)%duraction);movie.setTime(relTime);movie.draw(canvas, 0, 0);//强制重绘invalidate();}super.onDraw(canvas);}}


此工具类中,只做了2件事情。1,构造方法;2,重写了onDraw()方法。大家以后用的话,只需拷贝此类到你的工程下即可起作用。

步骤2:布局文件代码 activity_main.xml
<pre name="code" class="java"><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent" >     <TextView        android:text="====Gif图片测试布局===="        android:layout_height="wrap_content"       android:layout_width="wrap_content"       />         <com.example.showgifimage.MyGifView        android:id="@+id/iv"       android:layout_height="wrap_content"       android:layout_width="wrap_content"       android:layout_margin="20dp"       />    </LinearLayout>


布局文件中,注意的是:标签的设置 <com.example.showgifimage.MyGifView/>.
格式:包名+.类名
 
步骤3:主activity中调用
<pre name="code" class="java">public class MainActivity extends Activity {    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }}


    就这么轻松的把Gif图片显示了~~                                             
0 0
原创粉丝点击