- 浏览: 5820392 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (890)
- WindowsPhone (0)
- android (88)
- android快速迭代 (17)
- android基础 (34)
- android进阶 (172)
- android高级 (0)
- android拾遗 (85)
- android动画&效果 (68)
- Material Design (13)
- LUA (5)
- j2me (32)
- jQuery (39)
- spring (26)
- hibernate (20)
- struts (26)
- tomcat (9)
- javascript+css+html (62)
- jsp+servlet+javabean (14)
- java (37)
- velocity+FCKeditor (13)
- linux+批处理 (9)
- mysql (19)
- MyEclipse (9)
- ajax (7)
- wap (8)
- j2ee+apache (24)
- 其他 (13)
- phonegap (35)
最新评论
-
Memories_NC:
本地lua脚本终于执行成功了,虽然不是通过redis
java中调用lua脚本语言1 -
ZHOU452840622:
大神://处理返回的接收状态 这个好像没有监听到 遇 ...
android 发送短信的两种方式 -
PXY:
拦截部分地址,怎么写的for(int i=0;i<lis ...
判断是否登录的拦截器SessionFilter -
maotou1988:
Android控件之带清空按钮(功能)的AutoComplet ...
自定义AutoCompleteTextView -
yangmaolinpl:
希望有表例子更好。。。,不过也看明白了。
浅谈onInterceptTouchEvent、onTouchEvent与onTouch
Android支持GIF动画,但是如果利用ImageView标签直接写在布局文件中:
程序只能加载GIF动画的第一帧。效果如下:
如果想要正常播放GIF动画,需要借助Movie实现。写了一个简单示例,程序目录结构如下:
animation.gif是需要播放的GIF动画。
MainActivity实现了加载GIF动画的功能。
内部类CustomGifView 利用Movie播放GIF动画。解释一下:
将GIF动画以文件流的形式转换成Movie。
invalidate();作用是刷新当前View,这样onDraw方法重复执行,Movie就能画出GIF动画的每一帧。到此,GIF动画就能正常播放了。
源代码见:http://bigcateasymorse.googlecode.com/svn/trunk/android_gif_demo/
你可以试试这个,不过它是用jni实现的
android-gif-drawable 支持fig显示的view
https://github.com/koral--/android-gif-drawable
你把那个控件的硬件加速属性关闭应该就可以了,3.0以上是默认开启硬件加速的
你可以试试这个,不过它是用jni实现的
android-gif-drawable 支持fig显示的view
https://github.com/koral--/android-gif-drawable
JNI不是很熟练,在4.0系统上你试过Movie播放gif吗?或者这个问题有什么解决方法吗?谢谢
你可以试试这个,不过它是用jni实现的
android-gif-drawable 支持fig显示的view
https://github.com/koral--/android-gif-drawable
是谁规定了一定要判断呢?就不能一直这样“循环动画”下去?
你一定是新手。这个问题等你搞通了android再说。
<ImageView android:id="@+id/gifpicture" android:layout_width="fill_parent" android:layout_height="wrap_content" android:src="@drawable/animation" />
程序只能加载GIF动画的第一帧。效果如下:
如果想要正常播放GIF动画,需要借助Movie实现。写了一个简单示例,程序目录结构如下:
animation.gif是需要播放的GIF动画。
MainActivity实现了加载GIF动画的功能。
public class MainActivity extends Activity { private Movie mMovie; private long mMovieStart; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(new CustomGifView(this)); } class CustomGifView extends View { public CustomGifView(Context context) { super(context); mMovie = Movie.decodeStream(getResources().openRawResource( R.drawable.animation)); } public void onDraw(Canvas canvas) { long now = android.os.SystemClock.uptimeMillis(); if (mMovieStart == 0) { // first time mMovieStart = now; } if (mMovie != null) { int dur = mMovie.duration(); if (dur == 0) { dur = 1000; } int relTime = (int) ((now – mMovieStart) % dur); mMovie.setTime(relTime); mMovie.draw(canvas, 0, 0); invalidate(); } } } }
内部类CustomGifView 利用Movie播放GIF动画。解释一下:
mMovie = Movie.decodeStream(getResources().openRawResource(R.drawable.animation));
将GIF动画以文件流的形式转换成Movie。
public void onDraw(Canvas canvas) { long now = android.os.SystemClock.uptimeMillis(); if (mMovieStart == 0) { // first time mMovieStart = now; } if (mMovie != null) { int dur = mMovie.duration(); if (dur == 0) { dur = 1000; } int relTime = (int) ((now – mMovieStart) % dur); mMovie.setTime(relTime); mMovie.draw(canvas, 0, 0); invalidate(); } }
invalidate();作用是刷新当前View,这样onDraw方法重复执行,Movie就能画出GIF动画的每一帧。到此,GIF动画就能正常播放了。
源代码见:http://bigcateasymorse.googlecode.com/svn/trunk/android_gif_demo/
评论
19 楼
zjhangia
2014-08-19
在4.0中关闭硬件加速就可以了在配置文件中加入android:hardwareAccelerated="false"
详细请参照http://blog.csdn.net/gucun4848/article/details/7991713
详细请参照http://blog.csdn.net/gucun4848/article/details/7991713
18 楼
zjhangia
2014-08-19
在4.0中关闭硬件加速就可以了在配置文件中加入android:hardwareAccelerated="false"
详细请参照android:hardwareAccelerated="true"
详细请参照android:hardwareAccelerated="true"
17 楼
jikun
2014-07-08
你好楼主 我问下https://github.com/koral--/android-gif-drawable 如何用啊 我试了但是不行啊
16 楼
luwei35910
2014-04-22
楼主你好 我的是大一点帧数多的动画可以播放
帧数少的 int dur = mMovie.duration(); 会为0值
这时候就显示静态图片了 请问如何破
帧数少的 int dur = mMovie.duration(); 会为0值
这时候就显示静态图片了 请问如何破
15 楼
fengkang
2014-01-17
gundumw100 写道
zhwanwslj 写道
LZ你好,我试了下Movie播放gif,但是在2.3的系统上可以很好的播放,但在4.0的系统上却不能显示更不能播放,这个你有试过吗
你可以试试这个,不过它是用jni实现的
android-gif-drawable 支持fig显示的view
https://github.com/koral--/android-gif-drawable
你把那个控件的硬件加速属性关闭应该就可以了,3.0以上是默认开启硬件加速的
14 楼
zhwanwslj
2014-01-16
gundumw100 写道
zhwanwslj 写道
LZ你好,我试了下Movie播放gif,但是在2.3的系统上可以很好的播放,但在4.0的系统上却不能显示更不能播放,这个你有试过吗
你可以试试这个,不过它是用jni实现的
android-gif-drawable 支持fig显示的view
https://github.com/koral--/android-gif-drawable
JNI不是很熟练,在4.0系统上你试过Movie播放gif吗?或者这个问题有什么解决方法吗?谢谢
13 楼
gundumw100
2014-01-15
zhwanwslj 写道
LZ你好,我试了下Movie播放gif,但是在2.3的系统上可以很好的播放,但在4.0的系统上却不能显示更不能播放,这个你有试过吗
你可以试试这个,不过它是用jni实现的
android-gif-drawable 支持fig显示的view
https://github.com/koral--/android-gif-drawable
12 楼
zhwanwslj
2014-01-15
LZ你好,我试了下Movie播放gif,但是在2.3的系统上可以很好的播放,但在4.0的系统上却不能显示更不能播放,这个你有试过吗
11 楼
李传智
2013-12-30
能留下,联系方式吗,我有个问题请教你,我的qq :794987885
10 楼
gundumw100
2013-12-27
带个回家 写道
onDraw里面有 invalidate(); ? 并且没有判断 ? 不就死循环了么 ? 真不知道那些说试过了没问题是不是人有问题 ?
是谁规定了一定要判断呢?就不能一直这样“循环动画”下去?
9 楼
带个回家
2013-12-27
onDraw里面有 invalidate(); ? 并且没有判断 ? 不就死循环了么 ? 真不知道那些说试过了没问题是不是人有问题 ?
8 楼
lyx0206331
2013-12-05
我这里没法播放啊
7 楼
fengkang
2013-09-12
顶,3m多的图都可以正常显示没有oom错误!
6 楼
gundumw100
2013-05-28
kikiash 写道
那如果想在这一屏幕的其他地方再显示其他东西要写在哪呢?
你一定是新手。这个问题等你搞通了android再说。
5 楼
kikiash
2013-05-28
那如果想在这一屏幕的其他地方再显示其他东西要写在哪呢?
4 楼
Jj1105190650
2013-04-07
将好多图片放到ListView里面,发现程序直接退出,求解
3 楼
etjnety
2012-09-11
顶,太给力了,学习了
2 楼
f839903061
2012-08-20
ok了,我试过 了,没问题!哈哈哈哈哈
1 楼
紫雨1206
2012-04-17
为什么我的还是只播第一帧啊
发表评论
-
NestedScrollView滚动到顶部固定子View悬停挂靠粘在顶端
2018-10-31 20:45 6993网上有一个StickyScrollView,称之为粘性Scro ... -
自定义Behavior实现AppBarLayout越界弹性效果
2017-03-31 09:33 10369一、继承AppBarLayout.Beha ... -
Android - 一种相似图片搜索算法的实现
2017-03-31 09:33 2622算法 缩小尺寸。 将图片缩小到8x8的尺寸,总共64个 ... -
使用SpringAnimation实现带下拉弹簧动画的 ScrollView
2017-03-30 11:30 2848在刚推出的 Support Library 25.3.0 里面 ... -
Android为应用添加角标(Badge)
2017-03-30 11:21 61771.需求简介 角标是什么意思呢? 看下图即可明了: 可 ... -
Android端与笔记本利用局域网进行FTP通信
2017-03-23 10:17 978先看图 打开前: 打开后: Activity类 ... -
PorterDuffColorFilter 在项目中的基本使用
2017-03-03 10:58 1354有时候标题栏会浮在内容之上,而内容会有颜色的变化,这时候就要求 ... -
ColorAnimationView 实现了滑动Viewpager 时背景色动态变化的过渡效果
2017-02-24 09:41 2220用法在注释中: import android.anima ... -
迷你轻量级全方向完美滑动处理侧滑控件SlideLayout
2017-01-16 16:53 2594纯手工超级迷你轻量级全方向完美滑动处理侧滑控件(比官方 sup ... -
Effect
2017-01-05 09:57 0https://github.com/JetradarMobi ... -
动态主题库Colorful,容易地改变App的配色方案
2016-12-27 14:49 2565Colorful是一个动态主题库,允许您很容易地改变App的配 ... -
对视图的对角线切割DiagonalView
2016-12-27 14:23 1118提供对视图的对角线切割,具有很好的用户定制 基本用法 ... -
仿淘宝京东拖拽商品详情页上下滚动黏滞效果
2016-12-26 16:53 3494比较常用的效果,有现成的,如此甚好!:) import ... -
让任意view具有滑动效果的SlideUp
2016-12-26 09:26 1707基本的类,只有一个: import android.a ... -
AdvancedWebView
2016-12-21 09:44 16https://github.com/delight-im/A ... -
可设置圆角背景边框的按钮, 通过调节色彩明度自动计算按下(pressed)状态颜色
2016-11-02 22:13 1920可设置圆角背景边框的的按钮, 通过调节色彩明度自动计算按下(p ... -
网络请求库相关
2016-10-09 09:35 62https://github.com/amitshekhari ... -
ASimpleCache一个简单的缓存框架
2015-10-26 22:53 2178ASimpleCache 是一个为android制定的 轻量级 ... -
使用ViewDragHelper实现的DragLayout开门效果
2015-10-23 10:55 3415先看一下图,有个直观的了解,向下拖动handle就“开门了”: ... -
保证图片长宽比的同时拉伸图片ImageView
2015-10-16 15:40 3733按比例放大图片,不拉伸失真 import android. ...
相关推荐
在Android平台上,播放Gif动画是一项常见的需求,无论是加载指示器、按钮反馈还是其他动态展示效果,Gif图像都能提供丰富的视觉体验。本篇将详细探讨如何在Android应用中实现Gif动画的播放。 首先,我们需要理解Gif...
在Android平台上,播放GIF动画是一项常见的需求,无论是用于加载指示器、表情符号还是其他动态效果。本篇文章将深入探讨如何在Android应用中实现GIF动画的播放,并提供相关的技术知识点。 首先,我们需要理解GIF...
本示例项目“TestGIFDemo”旨在演示如何在Android应用中播放GIF动画,这主要涉及到以下几个核心知识点: 1. **GIF格式理解**:GIF是一种流行的动画图像格式,它支持透明度和循环播放,特别适合于制作简单的动态效果...
在Android平台上,播放GIF动画是一项常见的需求,无论是用于加载指示、表情符号还是其他互动元素。GIF是一种支持多帧的图像格式,...通过不断地实践和学习,开发者可以掌握更多关于Android中GIF动画播放的高级技巧。
使用`AnimationDrawable`和`ProgressBar`的技巧可以实现基本的Gif动画播放,而第三方库则提供了更强大的功能和更好的用户体验。在实际开发中,根据项目需求和性能考虑,可以选择合适的方法来实现Gif动画的播放。
本话题主要关注如何在Android应用中播放GIF动画,特别是创建一个屏幕掉金币的效果。首先,我们来详细讲解一下GIF动画在Android中的处理。 GIF是一种支持动图的图像格式,它包含多帧连续图像,当快速连续播放这些帧...
然而,Android原生的ImageView并不支持直接播放GIF动画,因此需要借助第三方库来实现这个功能。本篇文章将详细讲解如何在Android应用中使用`GifView`库来播放GIF动画。 `GifView`是一个专为Android设计的库,用于在...
在Android开发中,有时我们需要在应用中展示动态的GIF图片,这通常涉及到对GIF动画的播放。本文将深入探讨如何在Android平台上实现在应用中播放GIF动画,并介绍一个已经封装好的jar包,方便开发者直接使用。 GIF是...
在Android中,原生的ImageView组件并不支持直接加载和播放GIF动画,因此我们需要借助第三方库或者自定义View来实现。 1. **第三方库**: - **NineOldAndroids**:这是一款兼容Android 2.1及以上的库,用于提供对...
总之,Android平台上实现GIF动画播放有多种方式,既可以借助成熟的库,也可以自行编写动画引擎。选择哪种方式取决于具体需求和项目规模。理解GIF格式、熟悉Android的绘图机制,以及掌握内存管理和性能优化技巧,都是...
在Android开发中,为了实现动态效果,我们常常需要在ImageView中播放GIF动画。这个任务可以通过扩展Android原生的ImageView类来实现。本教程将详细讲解如何创建一个自定义的`PowerImageView`,用于播放GIF动画。 ...
在Android平台上,开发人员经常需要实现显示动态效果,如GIF动画。本篇文章将深入探讨如何在Android应用中轻松地展示GIF动画,基于提供的资源`GIFView.jar`。这个库提供了一种简单的方法来播放GIF文件,使得开发者...
首先,Android系统本身并不支持直接在ImageView中播放GIF动画,因此我们需要借助第三方库或自定义控件来实现这一功能。在“GifViewDemo”中,可能使用了如NineOldAndroids、Glide、Picasso等库,或者是自定义了一个...
在Android开发中,实现GIF动画,特别是在TextView中展示GIF表情,是一项常见的需求,尤其在社交应用或者消息传递场景中。以下将详细介绍如何在Android中实现这一功能,并且会探讨一些相关的技术点。 首先,我们需要...
在Android平台上,实现GIF动画是一项常见的需求,无论是用于加载指示器、按钮效果还是其他动态展示。本教程将深入探讨如何在Android应用中实现GIF动画,并提供一个名为`GifDemo`的示例项目来帮助理解。 首先,我们...
在Android中,如果直接使用ImageView,它是无法播放GIF动画的,因此我们必须引入额外的库。 一个常用的第三方库是`NineOldAndroids`和`Android-Universal-Image-Loader`,它们在早期版本的Android上提供了对GIF的...
在Android平台上,由于其原生系统并不直接支持GIF动画的显示,开发者通常需要借助第三方库来实现这一功能。这个实例“android 显示gif动画实例”显然是为了帮助开发者解决这个问题,通过提供一个实际的项目代码,使...