public class ViewContent extends View{ Movie movie; long mStart; public ViewContent(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub InputStream is = getResources().openRawResource(R.drawable.g1); movie = Movie.decodeStream(is); } public ViewContent(Context context){ this(context, null); setFocusable(true); } @Override protected void onDraw(Canvas canvas) { // TODO Auto-generated method stub int duration = movie.duration(); long now = android.os.SystemClock.uptimeMillis(); if(mStart == 0){ mStart = now; } movie.setTime((int) ((now - mStart) % duration)); movie.draw(canvas,0, 0); invalidate(); } }
关键的地方有两处
1.
movie.setTime((int) ((now - mStart) % duration));
此处设置播放gif的某一个时间的动画 单位为毫秒 这句话保证当前播放的都是对应当前时间的画面。
2.
movie.draw(canvas,0, 0); invalidate();
这里是绘制此gif的某一帧,并刷新本身,从而又调起了onDraw方法,如此动画的效果就达到了。
相关推荐
今天我们将详细介绍“Movie To GIF 3.3.1.0”,这款专为视频转GIF设计的软件,以及如何利用它来实现我们的需求。 “Movie To GIF”是一款功能强大的转换工具,其最新版本3.3.1.0提供了更加稳定和流畅的转换体验。...
另一个方法是利用`WebView`组件,它可以内建地支持GIF播放。只需加载包含GIF的网页或者直接设置`WebView`的`data`属性为GIF的Base64编码。这种方法的优点是用户体验良好,但会增加应用的内存消耗,且`WebView`加载...
**标题解析:** "ha_GIFMovieGearGIF Movie Gear 4.2.3 (注册码)...综上所述,GIF Movie Gear 4.2.3 是一个强大的GIF动画制作工具,通过提供的注册码,用户可以充分利用其所有功能,进行各种创新和个性化的GIF创作。
本节将详细讲解如何利用Movie类来实现这一功能,以及在`CommonGifView`这个自定义视图中展示GIF图像的步骤。 首先,Movie类是Android SDK中处理动画GIF的关键。它可以从一个InputStream或Bitmap中解码GIF数据,并...
1. **GIF动画创建与编辑**:用户可以利用GIF Movie Gear从零开始创建GIF动画,或对现有的GIF进行编辑,包括添加、删除帧,调整帧速率,改变颜色深度等。 2. **图像导入与导出**:支持多种图像格式的导入与导出,如...
为了优化,我们可以创建一个自定义的GIFDecoder,利用Android 7.0(API级别24)及以上版本提供的`android.graphics.Movie`类来解码GIF,这个内置的解码器在硬件加速方面做得更好。 以下是实现这一优化的步骤: 1. ...
在本文中,我们将深入探讨GIF Movie Gear的主要特点、功能以及如何利用它来提升你的GIF制作技能。 1. **GIF格式基础** GIF(Graphics Interchange Format)是一种流行的图像文件格式,特别适合用于在网络上传输...
- 解析GIF:利用`javax.imageio.ImageIO`或第三方库如`android.graphics.Movie`解析GIF文件,获取每一帧的图像。 - 绘制GIF:在`onDraw()`方法中,根据当前时间计算应该绘制的帧,然后调用`canvas.drawBitmap()`...
GIF Movie Gear正是利用这些特性,为用户提供了一个直观且易用的平台,让他们能够轻松创建出富有创意的GIF动图。 在GIF Movie Gear中,用户可以导入多帧静态图像,通过设定帧速率和顺序,将它们合成为流畅的动画。...
**GIF Movie Gear简易教程** GIF Movie Gear是一款专为创建和编辑GIF动画而设计的强大工具,尤其适合那些希望快速、轻松制作动画而又不想陷入复杂操作的用户。这款软件以其直观的界面和丰富的功能,使得即便是初学...
GIF Movie Gear是一款专业的GIF动画制作软件,它为用户提供了强大的工具集,使得创建、编辑和优化GIF动画变得更加简单。在深入了解这款软件之前,我们先来了解一下GIF格式的基本知识。 GIF(Graphics Interchange ...
8. **倒放与循环**:GIF Movie Gear 支持倒序播放和无限循环,让动图呈现出有趣的视觉效果。 ### 使用技巧 - **合理规划帧顺序**:在制作动画前,先规划好帧的顺序和内容,有助于提高效率。 - **利用关键帧**:在...
本篇文章将详细介绍如何在Android应用中利用`Movie`类来显示本地和网络的GIF图片。 首先,我们要了解`Movie`类。`Movie`是Android SDK中的一个类,它主要用于解析和播放动画图像,如GIF格式。这个类提供了从数据源...
Android系统提供了一个名为`android.graphics.Movie`的类,它可以解析GIF文件并播放。首先,我们需要从资源文件中读取GIF数据,然后创建Movie对象,通过`Movie.decodeStream()`方法解码。之后,我们可以在`onDraw()...
在Android开发中,由于原生的ImageView控件不支持直接播放GIF动画,开发者需要自定义组件来实现这一功能。本篇文章将详细讲解如何在Android中创建一个名为GifImageView的自定义视图,该视图能够播放GIF动画。 首先...
因此,通常需要第三方库来实现更流畅的GIF播放。 三、第三方库 1. Glide:Glide是一个强大的Android图像加载库,它支持GIF加载。通过添加Glide的GIF模块,可以在ImageView中轻松显示GIF。例如: ```java Glide.with...
GIF Movie Gear充分利用了这种格式的优势,提供了一系列功能,使得动画制作过程变得简单而高效。 1. **用户界面**:GIF Movie Gear以其直观的用户界面著称,适合初学者和专业人士使用。主窗口分为几个主要区域,...
3. **自定义GIFView**:如果你有特殊需求,可以考虑自定义一个GIFView,利用Android的BitmapFactory和Movie类。首先,从资源中读取GIF数据: ```java Movie movie = Movie.decodeStream(getResources()....